반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | /* Sequence (시퀀스) : 순서 : 연속적인 번호를 만들어 주는 기능 : 각각의 레코드가 추가될 때마다 자동으로 줄번호가 생기는 것 : mySQL에서 auto_increment 사용 : 오라클에서는 시퀀스 제공 구문형식 create sequence 시퀀스 이름 increment by n <- 증가값(n) 설정, 기본값은 1 start with n <- 시작값(n) 설정, 기본값은 1 maxvalue n <- 시퀀스 최대값(n) 설정 nomaxvalue n <- 맥스를 설정하지 않고 계속 증가하게 함 minvalue n <- 시퀀스 최소값 : cycle옵션일 경우 시작 값 nominvalue n <- 최소를 설정하지 않고 계속 증가하게 함 cycle <- 시퀀스를 순환사용할지 설정 nocycle cache n <- 시퀀스의 속도를 개선하기 위해 캐싱여부 지정 no cache n */ /* 시퀀스 생성 : 제품번호 생성하는 시퀀스 만들기 */ create sequence seq_serial_no increment by 1 start with 100 maxvalue 110 minvalue 99 cycle cache 2; create table good( good_no number(3), good_name varchar2(10) ); insert into good values (seq_serial_no.nextval, '제품1'); insert into good values (seq_serial_no.currval, '제품1'); /* nextval : 다음 value currval : 현재 value */ insert into good values (seq_serial_no.nextval, '제품2'); select * from good; select seq_serial_no.currval from dual; /* 제품번호가 Maxvalue인 110까지 생성된 이후(Cycle이 끝난 후) 한번 더 생성하면 minvalue인 99로 생성됨 */ insert into good values (seq_serial_no.nextval, '제품12'); create table good2( good_no number(3), good_name varchar2(10) ); create sequence seq_serial_no2 increment by 1 start with 100 maxvalue 105 cache 2; insert into good2 values (seq_serial_no2.nextval, '제품1'); commit; select * from good2; /* 데이터베이스 다운시키는 명령어 cmd창에서 입력 sqlplus hr 비번입력 select * from good2; conn sys/비번 as sysdba; shutdown abort; 데이터베이스 시작시키는 명령어 starup conn hr /비번 select * from good2; insert into good2 values(seq_serial_no2.nextval,'제품2'); select * from good2; */ /* 시퀀스 삭제 */ drop sequence 시퀀스명; /* 시퀀스 감소 increment by 1 값에 음수를 적용 */ | cs |
반응형
'프로그래밍 > SQL' 카테고리의 다른 글
[Oracle SQL] PL/SQL (0) | 2017.08.21 |
---|---|
[Oracle SQL] 계층형 쿼리 (0) | 2017.08.17 |
[Oracle SQL] VIEW (0) | 2017.08.16 |
[Oracle SQL] 무결성 제약조건 (0) | 2017.08.12 |
[Oracle SQL] INSERT, UPDATE, DELETE, COMMIT, ROLLBACK (0) | 2017.08.10 |