Oracle/운영
TABLE이 아닌 OBJECT RENAME TO
취미툰
2022. 9. 5. 15:41
반응형
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만 가능합니다.
반응형