본문 바로가기
✨ DBMS/Oracle

[Oracle / SQL] 다중 INSRT 문법 UNION ALL

by 환풍 2023. 3. 6.
728x90
반응형

 

 

1
2
3
4
5
CREATE TABLE TEST_STU (
    STU_NUM NUMBER PRIMARY KEY
    , STU_NAME VARCHAR2(50)
    , STU_AGE NUMBER
);
cs


1
2
INSERT INTO TEST_STU
SELECT 1'김길동'20 FROM DUAL;
cs

 

 

1
SELECT * FROM TEST_STU;
cs

 

INSERT INTO를 이용해 이와같이 데이터 하나를 넣어줄 수 있다. 아래에서 다중 데이터를 넣어보자.


1
2
3
SELECT 2'이길동'30 FROM DUAL
UNION ALL
SELECT 3'박길동'40 FROM DUAL;
cs

 

 

 

1
2
3
4
INSERT INTO TEST_STU(STU_NUM, STU_NAME, STU_AGE)
SELECT 2'이길동'30 FROM DUAL
UNION ALL
SELECT 3'박길동'40 FROM DUAL;
cs

위와 같이 UNION ALL을 사용하여 여러 건을 한 테이블에 한번에 INSERT를 할 수 있다.

 

대량의 데이터를 테이블에 INSERT 해야하는 상황이라면

service에서 for문을 이용해 INSERT 값을 계속 전달해줄 수 있다. 하지만 속도가 굉장히 느리다.

따라서 대량의 데이터를 전달할 때 foreach를 사용해 한번에 insert하는 방식으로 사용하자.

 

mapper에서 대략 이런식으로 sql 쿼리를 짜줄 수 있다. 앞으로 할 프로젝트때 사용해보도록 하려고 한다.

 

728x90
반응형

댓글