본문 바로가기
Oracle/운영

TABLE이 아닌 OBJECT RENAME TO

by 취미툰 2022. 9. 5.
반응형

VIEW의 RENAME을 하다가 방법을 글로 작성합니다.

해당 방법은 자기 소유의 OBJECT 중 TABLE이 아닌 OBJECT에서 사용가능합니다.

 

사용방법은 아래와 같습니다.

RENAME OLD_NAME TO NEW_NAME;

 

1.뷰생성 후 RENAME TEST

1.뷰생성
CREATE OR REPLACE VIEW YSBAE.YSBAE_VI_EMP
(
    ENO,
    DEPTNO,
    COMM,
    SAL,
    MGR,
    JOB
)
AS
select "ENO","DEPTNO","COMM","SAL","MGR","JOB" from dev.emp;


2.확인
SQL> select * from tab;

TNAME			TABTYPE
---------	----------
EMP				TABLE
YSBAE_VI_EMP	VIEW

3.RENAME
SQL> rename YSBAE_VI_EMP to YSBAE_VI_EMP2;

Table renamed.


4.재확인
YSBAE@dbarac1 SQL> select * from tab;

TNAME			TABTYPE
---------	----------
EMP				TABLE
YSBAE_VI_EMP2	VIEW

2.다른 스키마에서 VIEW RENAME 시도(에러 발생)

DEV 유저에서 수행

SQL> rename YSBAE.YSBAE_VI_EMP2 to YSBAE_VI_EMP3;
rename YSBAE.YSBAE_VI_EMP2 to YSBAE_VI_EMP3
       *
ERROR at line 1:
ORA-01765: specifying owner's name of the table is not allowed


SQL> rename YSBAE.YSBAE_VI_EMP2 to YSBAE.YSBAE_VI_EMP3;
rename YSBAE.YSBAE_VI_EMP2 to YSBAE.YSBAE_VI_EMP3
       *
ERROR at line 1:
ORA-01765: specifying owner's name of the table is not allowed

 

3.다른 스키마에서 current_user로 세션을 변경 후 시도(에러발생)

SQL> alter session set current_schema=YSBAE;
Session altered.


SQL> rename YSBAE_VI_EMP2 to YSBAE_VI_EMP3;
rename YSBAE_VI_EMP2 to YSBAE_VI_EMP3
*
ERROR at line 1:
ORA-03001: unimplemented feature

 

같은 스키마내의 object만 가능합니다.

 

반응형

댓글