어장 Develop/어장 DBMS
[Oracle 11g] Select Insert Query
김생선
2018. 5. 11. 11:01
반응형
[Oracle 11g Enterprise 기준]
테이블의 데이터를 다른 테이블로 그대로 옮겨야 할 때가 있다.
Excel Export / Inport를 통한 방법이나 기타 여러 방법들이 있긴 한데 아무래도 귀찮은 방법이기도 하고. 그래서 Select Insert Query를 주로 사용한다.
1 2 | INSERT INTO A_TABLE a SELECT * FROM B_TABLE b WHERE b.no = '1' | cs |
가장 기본적으로 위와 같은 구성으로 시작할 수 있다. A_TABLE에 B_TABLE의 데이터 중, no가 1인 항목만을 넣는 쿼리이다.
만약, 특정 컬럼에 대해서만 select insert를 한다면? 다음과 같다.
1 2 3 4 5 6 7 8 | INSERT INTO A_TABLE a ( no , title , content , insert_date , insert_user ) SELECT no , title , content , insert_date , insert_user FROM B_TABLE WHERE no = '1' | cs |
위와 별개로, 다른 user에 할당된 테이블에 넣기 위해서는?
회사에서는 하나의 DB에 user 단위로 운용/개발 DB가 분리되어있다. 당연하게도 dba 권한으로 아래의 쿼리를 이용해주면 된다.
1 2 3 4 5 6 7 8 | INSERT INTO user_1.A_TABLE a ( no , title , content , insert_date , insert_user ) SELECT no , title , content , insert_date , insert_user FROM user_2.B_TABLE WHERE no = '1' | cs |
user_1은 user_2에 접근할 수 없기에 dba 권한으로 둘 다 접속이 가능한 상태에서 select / insert를 수행해주면 된다.
반응형