Thứ Năm, 6 tháng 9, 2018

Quản lý sequence trong Oracle Database


SELECT
select * from DBA_SEQUENCES where sequence_name like 'ORD_SEQ%'
CREATE
CREATE SEQUENCE ord_seq
INCREMENT BY 10
START WITH 120
MAXVALUE 99999999999999
NOCYCLE;

CREATE TABLE ord_items
(ord_no NUMBER(4) NOT NULL,
item_no NUMBER(3),
qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200),
expiry_date date CHECK (expiry_date > SYSDATE),
CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no),
CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no));

--Có thể dùng sequencev với NEXTVAL như là giá trị DEFAULT của cột.
ord_no NUMBER(4)DEFAULT ord_seq.NEXTVAL NOT NULL,

-- Lấy giá trị tiếp theo
select * from ord_seq.NEXTVAL ;

select ord_seq.NEXTVAL  from dual;

ALTER
ALTER SEQUENCE ord_seq
   MAXVALUE 1500;
DROP
DROP SEQUENCE ord_seq;



ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master