2012-01-30 2 views
3

파티션 정의가 다른 정의가 동일한 2 개의 Oracle 테이블이 있습니다. 하나의 테이블과 다른 테이블 디자인을 테스트하고 싶습니다. 테이블 이름을 바꿀 수있는 방법이 있습니까? 큰 테이블이고 데이터를로드하는 데 오랜 시간이 걸리기 때문에 테이블을 떨어 뜨리고 싶지 않습니다.oracle에서 테이블 이름을 바꾸는 방법

답변

2

그냥 이름을 변경하십시오. 예를 들어 TABLE_A가 있으면 TABLE_A_TEMP로 이름을 바꿉니다. 그런 다음 TABLE_B의 이름을 TABLE_A로 바꿉니다. 그런 다음 TABLE_A_TEMP의 이름을 TABLE_B로 변경하십시오. 이름을 바꾸려면

, 당신은

alter table table_name rename to new_table_name; 
8

실제 테이블을 가리키는 synonym를 사용하여 발행해야합니다. 예를 들어

,

CREATE OR REPLACE SYNONYM partition_test FOR partition_table1; 

테스트 partition_table1 예컨대 select pt.* from partition_test pt;

CREATE OR REPLACE SYNONYM partition_test FOR partition_table2; 

테스트 partition_table2 예컨대 select pt.* from partition_test pt;

테스트 코드는 매번 동일합니다.

테스트가 끝나면 동의어를 버리십시오.

DROP SYNONYM partition_test; 
2

세 번째 방법은보기를 사용하는 것입니다. "실제"테이블 이름이 TABLE_A 및 TABLE_B라고 가정 해 봅시다. (또는 무엇이든) 뷰, MY_DATA_VIEW을 만들고, 당신이 원하는 어느 테이블이에 가리 가리가 :

CREATE OR REPLACE VIEW TEST_VIEW AS SELECT * FROM TABLE_A; 

또는

CREATE OR REPLACE VIEW TEST_VIEW AS SELECT * FROM TABLE_B; 

공유하고 즐길 수 있습니다.

관련 문제