1. Constraint
참조된 테이블의 6가지 Constraint 중
- NOT NULL
- UNIQUE
- PRIMARY KEY
- FOREIGN KEY
- CHECK
- REF
오로지 NOT NULL Constraint만 복사됨.
따라서 제약조건을 추가하기 위해서는 CTAS 이후 ALTER TABLE ~ 입력 필요.
2. WHERE 1=2
CREATE TABLE *
AS
SELECT column1, column2, column3
FROM table1
WHERE 1=2;
WHERE 1=2가 의미하는 바는 FALSE.
따라서 위 SQL Statement 실행 시 데이터가 없는 테이블이 생성됨.
테이블 구조만 복사 원할 시 활용 가능
(NOT NULL 제외한 Constraint는 추가 설정 필요)
출처 :
https://docs.oracle.com/database/121/SQLRF/clauses002.htm#SQLRF52180
http://www.orafaq.com/wiki/CTAS