본문 바로가기

Oracle

view, index, sequence, synonym

table        : 데이터 저장 객체
view         : select문 저장 객체
sequence : 일련번호 생성기
index : 검색속도 향상 위해 미리 만들어 놓은 객체
synonym : 동의어

create view emp10x as select * from emp where deptno=10

with check option;    <-- 뷰의 결과를 벗어나는 dml을 방지

즉.. insert into emp10x(empno,ename,deptno) values(4,'aaa',20); 을 넣으면 20때문에 데이타 무결성이 파괴되어 에러가 발생

sequence
desc user_sequences;  - 세션테이블

create table t1(id number, data varchar2(20), constraint t1_id_pk primary key(id));

create sequence t1s;   : 일련번호 생성

insert into t1 values(t1s.nextval,'aa');  생성값 기준으로 다음값을 출력
insert into t1 values(t1s.nextval,'bb');

select t1s.currval from dual; 현재 시퀀스의 값 출력, 

시퀸스가 살아있으면 다른 창으로 같은 계정에 접속하여 시퀀스를 쓴다면 시퀸스가 적용되어서 이어서 입력이 됨.. 따라서 여럿이서 데이터를 입력할때 서로 겹치지 않고 데이터를 입력할수 있어 다수의 유저가 사용하기에 좋음..

시퀸스 순서 문법 만들기
create sequence 이름
increment by n
start with n
maxvalue n | nomaxvalue
cycle | nocycle
cache n | nocache 

ex) 
create sequence stest
increment by 2
start with 4
maxvalue 7
minvalue 3
cycle
nocache;
                           결과 : 4 6 3 5 7 3 5 7 3 5 7 ...

drop sequence 이름  - 시퀀스 삭제

인덱스( Index )
select index_name from user_indexes;

Synonyms( 동의어 )
create synonym e for emp; 

select synonym_name from user_synonyms;


'Oracle' 카테고리의 다른 글

Dictionary View 보는 방법  (0) 2011.02.13
oracle 권한보기, 테이블 정리, 시간측정  (0) 2011.02.07
DDL  (0) 2011.02.06
join문  (0) 2011.02.03
Oracle SQL, select문 구조 , 기본함수  (1) 2011.02.03