테이블을 수정하다 보면, 중간에 컬럼을 추가한다거나, 삭제하는 등의 작업이 필요한데 이럴 때 테이블 내에 데이터가 있다면 데이터를 백업해두었다가 수정된 테이블에 다시 넣어주는 작업이 필요하죠.

그러려면, 원본테이블과 동일한 백업테이블을 만들고 데이터를 복사해야 하는데 CTAS(Create Table As Select) 를 이용하면 간편하게 할 수 있습니다.

CREATE TABLE T_COPY

TABLESPACE TS_1

AS

SELECT * FROM T_ORI;

만약, 데이터는 제외하고 Schema 만 복제하고 싶다면,

CREATE TABLE T_COPY

TABLESPACE TS_1

AS

SELECT * FROM T_ORI

WHERE 1=0;

와 같이 하면 됩니다.

주의할 점은, Primary Key 나 Index 등 Constraint 는 복제되지 않습니다. 당연한 것이, 복제된다면 동일한 이름의 Object 가 이미 존재한다는 에러를 만나게 되겠죠. 데이터를 잠시 옮겨놓기 위한 용도의 테이블 복제에선 불필요하다고 봅니다.



저작자 표시 비영리 변경 금지

http://nandol.com/trackback/606 관련글 쓰기

  1. 2010/03/24 13:31 [Edit/Del] [Reply]
    앗 안녕하셨어요?
  2. 2010/05/18 09:25 [Edit/Del] [Reply]
    와 좋은 팁이군요. 프로젝트 끝나고 본사에서 쉬구있어요.

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret