본문 바로가기
개발/Database

Oracle Sequence, Synonym을 사용하여 다른 사용자에게 권한 주기

by 이청춘아 2015. 12. 23.
--DROP SEQUENCE wonzopein.TEST_SEQ;
CREATE SEQUENCE wonzopein.TEST_SEQ
  START WITH 0
  MAXVALUE 9999999999999999999999999999
  MINVALUE 0
  NOCYCLE
  NOCACHE
  NOORDER;

CREATE OR REPLACE SYNONYM mypartner.testseq FOR wonzopein.TEST_SEQ;

GRANT ALTER, SELECT ON wonzopein.TEST_SEQ TO mypartner;



1. 설명

1.1 Create Sequnce

값이 0부터 시작하는

TEST_SEQ

라는 Sequence를 생성

CREATE SEQUENCE wonzopein.TEST_SEQ
  START WITH 0
  MAXVALUE 9999999999999999999999999999
  MINVALUE 0
  NOCYCLE
  NOCACHE
  NOORDER;

 

1.2 Create Synonym
1.2.1 private

특정 사용자를 지정하는 방법으로 mypartner 사용자에게

testseq

라는 이름으로 wonzopein.TEST_SEQ Synoynm을 생성하고,조회(select) 및 변경(alter) 권한을 준다.

-- create synonym
CREATE OR REPLACE SYNONYM mypartner.testseq FOR wonzopein.TEST_SEQ;
-- set grant
GRANT ALTER, SELECT ON wonzopein.TEST_SEQ TO mypartner;

 

1.2.2 public

다른 모든 사용자에게

testseq

라는 이름으로 wonzopein.TEST_SEQ Synoynm 생성하거 교체하고, 조회(select) 및 변경(alter) 권한을 준다..

-- create synonym
CREATE OR REPLACE PUBLIC SYNONYM testseq FOR wonzopein.TEST_SEQ;
-- set grant
GRANT ALTER, SELECT ON wonzopein.TEST_SEQ TO PUBLIC;

 

2 Test

2.1 private
-- 위에서 권한만 세팅했을 경우
SELECT wonzopein.TEST_SEQ.nextval FROM DUAL;
-- 위에서 권한, Synonym 둘다 세팅했을 경우
SELECT testseq.nextval FROM DUAL;

 

2.2 public
SELECT testseq.nextval FROM DUAL;



위와 같은 방법으로 오라클 내 다른 오브젝트(테이블 등등등...)도 활용 할 수 있다.

 

'개발 > Database' 카테고리의 다른 글

Oracle, DB Link  (0) 2016.08.26
오라클에서 정규식 사용 REGEXP_LIKE  (0) 2015.07.31

댓글