간혹 한번에 여러 개의 데이터를 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
| 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 |
더미 테이블을 만들 때는 엑셀이 정말 유용하게 사용된다.
+ 피드백은 언제나 환영입니다 :)