본문 바로가기

oracle

create table as select 다시 한번 상기하자!!

운영체제

 Windows7

최초 작성일 2013/10/21

프로그램 및 버전

 Oracle11g

마지막 수정 작성일-

※ 주의사항

 무엇이든 중요한건 시험입니다 :)

 

1. 작업개요

 현재 2군데에 DB가 구축되어 있습니다(A, B). 똑같은 DB이지요. 테이블구성두요. 

A DB의 테이블 하나가 심각하게 많이 변경되어 B DB의 테이블을 똑같이 만들어야 하는데 하나하나 수작업을 하기 귀찮습니다. 

* Create table as select 라는 좋은 스크립트를 열심히 검색한 결과 찾았습니다.  테이블 복사하는 기능일고 합니다.

 

*** 근데 한가지 문제가 있습니다.

테이블 복사는 되는데 Primary Key, Comments, Index는 복사가 안됩니다.

블로그 작성자님께서 안된다고 하셔서 혹시라도 혹시라도 해봤는데... 정말 안됩니다.

 

그래도 일단 데이터 백업을 할 수 있는 스크립트라 블로그에 남깁니다.

 

2. 작업내용

1) DB에 접속하여 다음과 같이 스크립트를 입력합니다.

소스 및 이미지

SQL> create table backupmytable as select * from mytable;

설명

여기에서 bckupmytble은 새로 생성되는 테이블 입니다. 그리고 from 뒤에 있는 mytable은 복사 대상 테이블 입니다. 

즉 backupmytable을 생성하고 mytable의 테이블 구조로(primary key, comments, index를 제외한 컬럼, 데이터 등) 컬럼을 생성하고 데이터를 복사합니다.

 

3. 작업결과

 primary key, index까지 복사되면 정말 땡큐인데요. 어쩔 수 없이 테이블만 생성하고 데이터를 복사해야 겠네요.

※ 참고 사이트

 http://blog.naver.com/mslovely84?Redirect=Log&logNo=110144650731

위 사이트를 참고 하였습니다.