INSERT 문은 데이터베이스 테이블에 행을 삽입합니다.
단일 행은 TableReference로 식별된 테이블로 삽입됩니다. ColumnName 목록은 대상 테이블에서 특정 값을 제공할 열을 식별합니다. 이 값은 VALUES 절 내의 표현식으로 판별됩니다(첫 번째 표현식은 첫 번째 이름 지정 열의 값을 제공함). VALUES 절의 표현식 수는 이름 지정된 열의 수와 동일해야 합니다. 표에 있지만 목록에서 언급되지 않은 열에는 디폴트 값이 제공됩니다.
스키마 이름이 지정되지 않은 경우 브로커 데이터베이스 사용자에 대한 디폴트 스키마가 사용됩니다.
데이터 소스 이름을 지정하지 않은 경우 노드의 데이터 소스 속성에서 지정한 데이터베이스가 사용됩니다.
삽입 조작 중 오류가 발생할 수 있습니다. 예를 들면, 데이터베이스가 작동하지지 않거나, 표에서 새 행을 방해하는 정의된 제한조건을 보유할 수 있습니다. 이러한 경우 예외가 발생합니다(노드에서 throw exception on database error 등록 정보를 FALSE로 설정한 경우 제외). 이 예외는 적절한 SQL 코드, 상태, 고유 오류 및 오류 텍스트 값을 설정하고 오류 핸들러로 처리할 수 있습니다(DECLARE HANDLER 문 참조).
데이터베이스 오류 처리에 대한 자세한 정보는 데이터베이스 상태 캡처를 참조하십시오.
다음의 예는 Database 노드에 대한 dataSource 등록 정보가 구성되고 식별된 데이터베이스에 A, B 및 C 열이 있는 TABLE1이라고 하는 테이블이 있다고 가정합니다.
<A> <B>1</B> <C>2</C> <D>3</D> </A>
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);