1.SELECT * INTO사용법

   SELECT  INTO 구문은 원본은 있고 대상 테이블은 새롭게 생성하려 할 경우 사용합니다.

   TABLE A에서 모든 데이터를 가져와 A_COPY라는 테이블을 생성하여 데이터를 INSERT하고 싶습니다.

   물론 A_COPY라는 테이블은 현재 만들어져있지 않습니다.

 

   SELECT * INTO A_COPY FROM A

 

   위와 같이 하면 A테이블과 같은 컬럼과 데이터를 가지는 A_COPY라는 테이블이 생성됩니다.

   그럼 A테이블의 특정 컬럼만 가져오려면?

 

   SELECT * INTO A_COPY

   FROM (

              SELECT COL1,COL2,COL3.... FROM A 

             ) AS TEMP_TABLE

   위와 같이 하면 A테이블의 특정 컬럼만 가져와서 A_COPY라는 테이블을 생성하여 데이터를 INSERT합니다.

 

2.INSERT INTO SELECT 사용법

   INSERT INTO 구문은 원본과 대상테이블이 모두 있을 경우 사용합니다.

   TABLE A에서 모든 데이터를 가져와 B라는 테이블에 INSERT 하고 싶습니다.

  

   INSERT INTO B SELECT * FROM A

   위에서 TABLE A와 TABLE B는 스키마가 동일해야 합니다.

 

   만일 A보다 컬럼수가 적을 경우에는

   INSERT INTO B SELECT COL1,COL2,COL3 FROM A

   와 같이 사용할 수 있습니다.



3. 오라클에서 신규 테이블생성 ctas를 이용하면 됩니다.

create table new_table
as 
select * from old




출처 : http://tit99hds.egloos.com/viewer/928582

'Database > Oracle' 카테고리의 다른 글

[Example] procedure 예제  (0) 2014.11.04
[Oracle] GRANT , SYNONYM 주는 방법  (0) 2014.11.04
[Permission] 계정 권한  (0) 2014.10.26
[Query] Outer Join  (0) 2014.10.01
[Multi Update] 다중 row 같은 column update  (0) 2014.09.18

+ Recent posts