오라클 동의어(Oracle Synonym)
- 테이블, 뷰, 시쿼스에 대한 별칭, 동의어
- public, private로 생성 가능
- Public synonym은 생성할 수 있는 권한이 있는 user만이 만들 수 있으며, 모든 user들이 사용할 수 있다.
- public, private로 생성 가능
- Public synonym은 생성할 수 있는 권한이 있는 user만이 만들 수 있으며, 모든 user들이 사용할 수 있다.
[문법]
CREATE [PUBLIC] SYNONYM
synonym명 FOR object;
DROP [PUBLIC] SYNONYM synonym명;
[예]
CREATE SYNONYM emp FOR scott.emp;
DROP SYNONYM emp;
CREATE SYNONYM emp FOR scott.emp;
DROP SYNONYM emp;
SQL> conn system/onj
SQL> SELECT * FROM s_emp;
(* Error 발생)
(* Error 발생)
SQL> SELECT * FROM scott.s_emp;
(* system user는 SELECT ANY TABLE 권한을 가지고 있으므로 성공)
(* system user는 SELECT ANY TABLE 권한을 가지고 있으므로 성공)
SQL> CREATE SYNONYM s_emp FOR scott.s_emp;
SQL> SELECT * FROM s_emp;
SQL> CREATE TABLE s_emp (a number);
(* Error 발생)
(* Error 발생)
Base table의 이름이 바뀌면 Synonym은 더 이상 사용할 수 없게 된다.
SQL> conn scott/tiger
SQL> RENAME s_emp TO e;
SQL> conn system/manager
SQL> SELECT * FROM s_emp;
(* 에러 발생)
SQL> conn scott/tiger
SQL> RENAME e TO s_emp;



댓글 없음:
댓글 쓰기