본문 바로가기

Oracle

CTAS 쿼리 테이블 복사

CTAS 란 : CREATE TABLE AS SELECT(CTAS) SELECT 문의 결과로부터 새 테이블을 생성한다.

 

1. 데이터까지 복사할때

 CREATE TABLE 테이블명

   AS SELECT * FROM 복사할 테이블명;

        (조건 필요시 : WHERE ~~~)

 

2. 테이터 복사 X 테이블 구조만 복사할때

 CREATE TABLE 테이블명

   AS SELECT * FROM 복사할 테이블명

       WHERE 1=2;

CTAS 쿼리

생성 결과 -> DEPT_20201010 테이블이 생성되었다.

 

테이블 복사후 DEPT_20201010 생성완료

제약조건을 확인해보자.

제약조건 비교

 

제약조건 비교2

원본테이블과 복사한 테이블 제약조건 비교

DEPT 테이블은 PK, NOT NULL 제약조건이 걸려있다.

복사한 DEPT_20201010 테이블은 NOT NULL 제약조건만 복사되었다.

제약조건은 NOT NULL 만 복사된다.

 

따라서 복사한 테이블에 NOT NULL 외의 제약조건을 추가해주어야한다.

 

참고 : docs.aws.amazon.com/ko_kr/athena/latest/ug/create-table-as.html

반응형