행위

Oracle INSERT ALL(다건 입력)

DB CAFE

thumb_up 추천메뉴 바로가기


1 Oracle INSERT ALL(다건 입력)[편집]

multi_table_insert.gif

1.1 다건 입력(INSERT) 방법[편집]

1.1.1 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;

1.1.1.1 INSERT ALL 조건별로 다른테이블에 입력[편집]

conditional_insert_clause.gif

INSERT ALL 
	WHEN 조건A1 THEN INTO 테이블_A (컬럼이름X1, 컬럼이름X2) -- 테이블_A 에 입력 
	WHEN 조건A2 THEN INTO 테이블_B (컬럼이름Y1, 컬럼이름Y2) -- 테이블_B 에 입력 
-- SELECT 구문 
 SELECT 컬럼이름A1, 컬럼이름A2
   FROM 테이블이름A;

1.1.2 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
 ;

1.2 다건 입력 예시[편집]

1.2.1 테이블 생성[편집]

CREATE TABLE TEST (
	A_COM VARCHAR2(20),
	B_COL VARCHAR2(20),
	C_COL VARCHAR2(20)
);

1.2.2 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;

1.2.3 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;