본문 바로가기

SQL + PL/SQL/SQL

SYNONYM


SYNONYM

기존테이블에 붙이는 별명

보안상 목장이나 사용자 편의성때문에 사용함

테이블 이름을 바꾸고 싶어서 바꾸면 쿼리를 다 바꿔야 하기 때문에 엄청난 재앙이 옴, 별명으로 바꿔놓으면 쉽게 쓸 수 있음

하지만 단점은 별명 만든 사람만 그 별명을 알겠지요. 

이 문제 해결방법을 위해 PUBLIC 옵션이 있음. 

PUBLIC을 써줘야 다른 사용자들도 그 별명을 다 쓸 수 있게 됨 




문법:

CREATE (PUBLIC) SYNONYM synonym이름

FOR 테이블이름 ;



** SYS 계정에서 SCOTT 계정한테 CREATE SYNONYM 권한주기

SYS>grant create synonym to scott ;

SYS>grant create public synonym to scott ;




SYNONYM 조회

사용하는 딕셔너리는 USER_SYNONYMS


SELECT SYNONYM_NAME, TABLE_OWNER, TABLE_NAME

FROM USER_SYNONYMS

WHERE TABLE_NAME='테이블이름대문자' ;




SYNONYM 삭제


DROP SYNONYM synonym이름 ;






'SQL + PL/SQL > SQL' 카테고리의 다른 글

HIERACHICAL QUERY - 계층형 쿼리  (0) 2013.01.13
SEQUENCE - 시퀀스  (0) 2013.01.13
VIEW - 뷰  (0) 2013.01.13
INDEX - 인덱스  (0) 2013.01.13
CONSTRAINT - 제약조건  (0) 2013.01.13