Database/Oracle

[Oracle]다중 INSERT

  • -
반응형

간혹 한번에 여러 개의 데이터를 Insert 시켜야하는 경우가 있다.

지금까지 많게는 2000개까지 Insert를 시킨 경험이 있는데 그런 경우 사용하는 방법이다.


다중 Insert를 할 때 오라클의 더미 테이블을 이용할 수 있는 방법이 있다.

여러 데이터의 경우 시간이 걸리는 단점이 있긴하다.


자,


A라는 테이블이 있다.

A테이블에는 A_CD, AD_ID, SEQ_NO라는 컬럼이 존재한다.

그리고 아래와 같은 자료를 삽입시켜야 한다.


 A_CD

AD_ID 

SEQ_NO 

 1001

0000803930

1

 1001

0000803930

2

 1001

0000803930

3

 1001

0000803930

4

 1001

0000803930

5

 1001

0000803930

6

 1001

0000803930

7

 1001

0000803930

8

 1001

0000803930

9


위 자료를 토대로 더미 테이블을 만든다.

(문자의 경우 작은 따옴표('')를 입력해줘야 한다)


그리고 INSERT


1
2
3
4
5
6
7
8
9
10
11
12
13
INSERT INTO A
SELECT *
FROM   (
SELECT '1001' A_CD, '0000803930' AD_ID, 1 SEQ_NO FROM DUAL UNION ALL
SELECT '1001' A_CD, '0000803931' AD_ID, 2 SEQ_NO FROM DUAL UNION ALL
SELECT '1001' A_CD, '0000803932' AD_ID, 3 SEQ_NO FROM DUAL UNION ALL
SELECT '1001' A_CD, '0000803933' AD_ID, 4 SEQ_NO FROM DUAL UNION ALL
SELECT '1001' A_CD, '0000803934' AD_ID, 5 SEQ_NO FROM DUAL UNION ALL
SELECT '1001' A_CD, '0000803935' AD_ID, 6 SEQ_NO FROM DUAL UNION ALL
SELECT '1001' A_CD, '0000803936' AD_ID, 7 SEQ_NO FROM DUAL UNION ALL
SELECT '1001' A_CD, '0000803937' AD_ID, 8 SEQ_NO FROM DUAL UNION ALL
SELECT '1001' A_CD, '0000803938' AD_ID, 9 SEQ_NO FROM DUAL UNION
)
cs




더미 테이블을 만들 때는 엑셀이 정말 유용하게 사용된다.


+ 피드백은 언제나 환영입니다 :)


반응형
Contents

포스팅 주소를 복사했습니다.

이 글이 도움이 되었다면 공감 부탁드립니다.