Computer Engineering/DB
CTAS (Create Table as select ) 시타스
야기
2008. 7. 17. 10:36
CTAS (Create Table as select ) 란 말그대로 새로운 테이블을 생성할때
기존의 테이블의 컬럼 속성과 해당데이터를 모두 똑같이 복제 하여 새로운 테이블을
만들때 사용하는 sql 명령어로 매우 간편하게 테이블과 데이터를 생성할 수 있다는 장점이 있다.
그러나 제약에 있어서는 not null 속성외에는 복제가 안된다. 따로 일일이 설정해줘야 한다
1. 복사할 원본 테이블의 데이터를 본다.
2. CTAS 명령 실행
3. 생성한 테이블 속성을 확인해 본다. NOT NULL속성고 함께 컬럼 정보들이 그대로 복사생성되었다.
4. 새로 생성한 테이블 을 조회해 본다.
#############################################################################
같은 형식의 테이블은 만들되 데이터를 복사 하지 않을경우
##############################################################################
기존의 테이블의 컬럼 속성과 해당데이터를 모두 똑같이 복제 하여 새로운 테이블을
만들때 사용하는 sql 명령어로 매우 간편하게 테이블과 데이터를 생성할 수 있다는 장점이 있다.
그러나 제약에 있어서는 not null 속성외에는 복제가 안된다. 따로 일일이 설정해줘야 한다
1. 복사할 원본 테이블의 데이터를 본다.
SQL> SELECT * FROM 원본 테이블명;
2. CTAS 명령 실행
SQL> CRATE TABLE 생성할 테이블명
AS SELECT * FROM 원본 테이블명;
AS SELECT * FROM 원본 테이블명;
3. 생성한 테이블 속성을 확인해 본다. NOT NULL속성고 함께 컬럼 정보들이 그대로 복사생성되었다.
SQL> DESC 생성된 테이블명
4. 새로 생성한 테이블 을 조회해 본다.
SQL> SELECT * FROM 생성한 테이블명;
#############################################################################
같은 형식의 테이블은 만들되 데이터를 복사 하지 않을경우
##############################################################################
SQL>create table emp_copy
as select * from employees
where 1= 0;
as select * from employees
where 1= 0;