본문 바로가기

SQL

[Oracle] sequence, synonym

sequence

: 자동일련번호를 생성하는 객체이다.

-sequence 객체를 생성하려면 create sequence 시스템권한이 필요하다.

 

sequence 객체 생성

create sequence seq이름
start with n --기본값, 시작번호
maxvalue n --최댓값, 10^27까지 가능
increment by n --증가(감소)값(음수 사용 가능)
nocycle --중복불가 cycle : 중복. 1, 2, 3, 1, 2, 3
nocache; --메모리에 미리 sequence 생성할지 기본값 : cache 20

sequence 수정(start with 만 수정불가)

alter sequence seq이름
increment by n
maxvalue n cache 20;

sequence 삭제

drop sequence seq이름;
select * from 테이블명; --sequence로 생성한 id는 그대로 남아있음. 삭제X

-sequence이름.nextval : 가상컬럼, sequence의 다음값

-sequence이름.currval : sequence의 현재값

 

synonym(동의어)

: 긴객체 이름을 짧은 이름으로 사용하는 객체이다.

-create synonym 시스템권한이 필요하다

-모든 유저들이 사용할 수 있는 synonym을 생성하려면 create public synonym 시스템 권한이 있어야한다.

 (dba에게 받아야함)

-public synonym을 삭제하려면 drop public synonym 시스템 권한이 있어야한다. (dba에게 받아야함)

synonym 생성
create synonym synonym명 for 테이블명;

synonym 삭제
drop synonym synonym명(or 테이블명);

public synonym 생성
create public synonym emp for employees; --create public synonym 시스템 권한 필요

select * from user_synonyms; --public synonym 확인불가.
select * from all_synonyms where table_owner = '사용자명'; --내가 만든 public synonym 정보 확인

public synonym 삭제
drop public synonym emp; --drop public synonym 시스템 권한 필요

 

'SQL' 카테고리의 다른 글

[Oracle] comment, truncate  (0) 2022.01.05
[Oracle] Data access method, INDEX  (0) 2022.01.05
[Oracle] VIEW  (0) 2022.01.05
[Oracle] flashback table, 날짜타입  (0) 2022.01.05
[Oracle] 이름 수정  (0) 2022.01.04
Recent Posts
Popular Posts
Recent Comments