INSERT문

INSERT 문은 데이터베이스 테이블에 행을 삽입합니다.

구문

단일 행은 TableReference로 식별된 테이블로 삽입됩니다. ColumnName 목록은 대상 테이블에서 특정 값을 제공할 열을 식별합니다. 이 값은 VALUES 절 내의 표현식으로 판별됩니다(첫 번째 표현식은 첫 번째 이름 지정 열의 값을 제공함). VALUES 절의 표현식 수는 이름 지정된 열의 수와 동일해야 합니다. 표에 있지만 목록에서 언급되지 않은 열에는 디폴트 값이 제공됩니다.

테이블 참조

테이블 참조는 메시지 트리를 참조하는 데 사용된 필드 참조의 특수한 경우입니다. 항상 "Database"라는 단어로 시작하고 다음 사항을 포함할 수 있습니다.
  • 테이블 이름만
  • 스키마 이름 및 테이블 이름
  • 데이터 소스 이름(즉, 데이터베이스 인스턴스 이름), 스키마 이름 및 테이블 이름
각 경우에 이름은 직접 지정하거나 괄호({...})로 묶인 표현식으로 지정할 수 있습니다. 직접 지정된 데이터 소스, 스키마 또는 테이블 이름은 이름이 대체될 수 있습니다. 즉, 사용된 이름이 알려진 이름으로 선언된 경우 이름 자체보다 선언된 이름의 값이 사용됩니다(DECLARE문 참조).

스키마 이름이 지정되지 않은 경우 브로커 데이터베이스 사용자에 대한 디폴트 스키마가 사용됩니다.

데이터 소스 이름을 지정하지 않은 경우 노드의 데이터 소스 속성에서 지정한 데이터베이스가 사용됩니다.

오류 핸들링

삽입 조작 중 오류가 발생할 수 있습니다. 예를 들면, 데이터베이스가 작동하지지 않거나, 표에서 새 행을 방해하는 정의된 제한조건을 보유할 수 있습니다. 이러한 경우 예외가 발생합니다(노드에서 throw exception on database error 등록 정보를 FALSE로 설정한 경우 제외). 이 예외는 적절한 SQL 코드, 상태, 고유 오류 및 오류 텍스트 값을 설정하고 오류 핸들러로 처리할 수 있습니다(DECLARE HANDLER 문 참조).

데이터베이스 오류 처리에 대한 자세한 정보는 데이터베이스 상태 캡처를 참조하십시오.

다음의 예는 Database 노드에 대한 dataSource 등록 정보가 구성되고 식별된 데이터베이스에 A, B 및 C 열이 있는 TABLE1이라고 하는 테이블이 있다고 가정합니다.

다음의 일반 XML 본문이 있는 메시지가 있는 경우,
<A>
 <B>1</B>
 <C>2</C>
 <D>3</D>
</A>
다음의 INSERT 문은 A, B, C 열에 대해 값 1, 2, 3이 있는 테이블에 새 행을 삽입합니다.
INSERT INTO Database.TABLE1(A, B, C) VALUES (Body.A.B, Body.A.C, Body.A.D);
다음 예는 계산된 데이터 소스, 스키마 및 테이블 이름의 사용을 표시합니다.
-- Declare variables to hold the data source, schema, and table names
-- and set their default values
DECLARE Source CHARACTER 'Production';
DECLARE Schema CHARACTER 'db2admin';
DECLARE Table  CHARACTER 'DynamicTable1';

-- Code which calculates their actual values comes here

-- Insert the data into the tabl
INSERT INTO Database.{Source}.{Schema}.{Table} (Name, Value) values ('Joe', 12.34);
관련 개념
ESQL 개요
관련 태스크
ESQL 개발
데이터베이스 상태 캡처
관련 참조
구문 다이어그램: 사용 가능한 유형
ESQL문
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ak05050_