728x90
여러행 삽입(INSERT) 방법
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;
가장 하단의 SELECT * FROM DUAL이 없으면 오류가 발생합니다.
- INSERT ALL 문에서 SELECT * FROM DUAL 문을 사용하면 각 삽입이 성공했는지 확인할 수 있습니다.
- INSERT ALL 문을 사용할 때 SELECT * FROM DUAL 문을 사용하지 않으면, 삽입이 성공했는지 여부를 알 수 없습니다. 이로 인해 데이터베이스 오류가 발생하거나 데이터가 손실될 수 있습니다.
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;
UNION ALL을 사용하는 것이 성능적으로 더 뛰어납니다.
728x90
'STUDY > DB SQL' 카테고리의 다른 글
[SQL] 오라클 COALESCE 함수 (NULL값 대체하기) (0) | 2023.07.26 |
---|---|
[Oracle] SQL Developer 엑셀로 INSERT 하기 (0) | 2023.07.24 |
[SQL] 오라클 문자열 자르기 SUBSTR, SUBSTRB (0) | 2023.07.24 |
[SQL] 오라클 문자(CHR) 아스키코드(ASCII) 변환 방법 (0) | 2023.07.21 |
[SQL] 오라클 trim, replace로 제거되지 않은 공백값 chr(49824) 제거하기 (0) | 2023.07.21 |