정미나닷컴
[Oracle] 오라클 INSERT ALL, 다중행 입력, 한방 쿼리 본문
INSERT ALL
- 한 테이블에 여러 row를 넣거나 여러 테이블에 하나의 명령어로 insert가 가능
Unconditional insert all : 조건없이 모두 insert
INSERT ALL
INTO CUST_TEL VALUES (CUST_NO, TEL_NO)
INTO CUST_ADDR VALUES (CUST_NO, POST_NO, ADDR_1, ADDR_2)
SELECT CUST_NO, TEL_NO, POST_NO, ADDR_1, ADDR_2
FROM CUSTOMER;
Conditional insert all : 조건에 맞는 행들만 insert
INSERT ALL
WHEN SALE_PRICE >= 1000000
INTO HIGH_ORDER VALUES (ORDER_NO, GOODS_CODE, SALE_PRICE)
WHEN SALE_PRICE < 1000000
INTO LOW_ORDER VALUES (ORDER_NO, GOODS_CODE, SALE_PRICE)
FROM ORDER
WHERE ORDER_DT = '20190513'
INSERT ALL 대신에 INSERT FIRST를 사용하게 되면 한개의 조건에 만족할 경우 나머지 조건문은 skip하게 됨
다시말해 INSERT ALL 은
if(조건) { insert... }
if(조건) { insert... }
if(조건) { insert... }
과 같고
INSERT FIRST 는
if(조건) { insert... }
else if(조건) { insert... }
else if(조건) { insert... }
과 같다고 이해하면 빠를 듯..!
'IT' 카테고리의 다른 글
[Oracle] 오라클 파티셔닝, Partitioning (0) | 2019.05.31 |
---|---|
[Oracle] 오라클 Data Dictionary, 데이터 딕셔너리 (0) | 2019.05.20 |
[Oracle] 오라클 인덱스 클러스터 테이블, Index Cluster Table (3) | 2018.12.02 |
[Oracle] 오라클 Index Combine, Index Combination, 인덱스 동시에 사용하기 (0) | 2018.11.29 |
[Oracle] 오라클 소트 (0) | 2018.05.11 |