[oracle]오라클 select해서 insert 하기 :: 개발/일상_Mr.lee

[oracle]오라클 select해서 insert 하기

Posted by Mr.mandu.
2016. 6. 1. 02:00 개발/DB

프로젝트를 진행하면서 문제가 생겼습니다.


문제는!

A라는 테이블의 데이터를

B라는 테이블에 inster 시켜할 경우가 생겼다.


간단히 말해서

select해서 다른테이블에 insert 하겠다는 의미 입니다.


처음에는 이런기능도있어??라고 생각했는데.... 

간단하더군요...ㅋㅋㅋㅋ


바로 예제를 통해 알아보겠습니다. ㅋㅋㅋ


먼저 두 테이블의 컬럼이 모두 동일할때!

insert into A

select * from B

라고 하면 데이터가 전부 A로 들어가게 됩니다.


하지만 이런경우가 많이는 없을것 같고...

저 또한 컬럼명이 달랐습니다.


이번에는 두 테이블의 컬럼이 다를때! 입니다.


먼저 테이블 데이터를 살펴보겠습니다.

SELECT
*
FROM

TEST;


이번엔 학생테이블을 조회 해보겠습니다.

SELECT
*
FROM

STUDENT;



이번엔 test 테이블에 데이터를 insert 해보겠습니다.




INSERT INTO TEST(testno, text, test_sno)
SELECT SEQ_CK_BLT_RSRC.NEXTVAL, NAME, grade FROM STUDENT;

(where 조건 가능)

쿼리를 실행 하실때 where조건에서 select할 데이터는 제어할 수 있습니다.
아 그리고 

SEQ_CK_BLT_RSRC.NEXTVAL 요 부분은 제가 만들어둔 시퀀스이기 때문에 

신경 쓰지마시고 그냥 컬럼 입력하시면 됩니다.!


아... 시퀀스에 대해 포스팅을 하지 않았는데 나중에 기회되면 

포스팅 하도록 하겠습니다.


결과를 확인해 보면!! 밑의 사진 처럼 나오는걸 확인 할수 있었습니다.^^