다른 명령
Oracle INSERT ALL(다건 입력)
다건 입력(INSERT) 방법
INSERT ALL을 사용하는 방법
INSERT ALL INTO [테이블] ( [COLUMN1], [COLUMN2], ...) VALUES ( [VALUE1], [VALUE2], ...) INTO [테이블] ( [COLUMN1], [COLUMN2], ...) VALUES ( [VALUE1], [VALUE2], ...) ... INTO [테이블] ( [COLUMN1], [COLUMN2], ...) VALUES ( [VALUE1], [VALUE2], ...) SELECT * FROM DUAL;
INSERT ALL 조건별로 다른테이블에 입력
INSERT ALL WHEN 조건A1 THEN INTO 테이블_A (컬럼이름X1, 컬럼이름X2) -- 테이블_A 에 입력 WHEN 조건A2 THEN INTO 테이블_B (컬럼이름Y1, 컬럼이름Y2) -- 테이블_B 에 입력 -- SELECT 구문 SELECT 컬럼이름A1, 컬럼이름A2 FROM 테이블이름A;
UNION ALL을 사용하는 방법
INSERT INTO [테이블] ([COLUMN1], [COLUMN2], ...) SELECT ([VALUE1], [VALUE2], ...) FROM DUAL UNION ALL SELECT ([VALUE1], [VALUE2], ...) FROM DUAL ... UNION ALL SELECT ([VALUE1], [VALUE2], ...) FROM DUAL ;
다건 입력 예시
테이블 생성
CREATE TABLE TEST ( A_COM VARCHAR2(20), B_COL VARCHAR2(20), C_COL VARCHAR2(20) );
INSERT ALL 방식 입력
INSERT ALL INTO TEST ( A_COM, B_COL, C_COL ) VALUES ('val01','val02','val03') INTO TEST ( A_COM, B_COL, C_COL ) VALUES ('val01','val02','val03') ... INTO TEST ( A_COM, B_COL, C_COL ) VALUES ('val01','val02','val03') SELECT * FROM DUAL;
UNION ALL 방식
INSERT INTO TEST ( A_COM, B_COL, C_COL ) SELECT ('val01','val02','val03') FROM DUAL UNION ALL SELECT ('val01','val02','val03') FROM DUAL UNION ALL ... SELECT ('val01','val02','val03') FROM DUAL;