CREATE SEQUENCE emp_sequence -- emp_sequence這個就是后面要用到這個序列號時引用的名稱
蒲城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
INCREMENT BY 1 -- 每次加幾個
START WITH 1 -- 從1開始計數(shù)
NOMAXVALUE -- 不設(shè)置最大值
NOCYCLE -- 一直累加,不循環(huán)
CACHE 100; -- 緩存值 100
當(dāng) 需要使用該序列號的值時,直接調(diào)用創(chuàng)建的序號號中的 nextval方法。
如: emp_sequence.nextval (注意:后面沒有括號,它是一個屬性值)
刪除序列
DROP SEQUENCE emp_sequence;
你在使用insert語句的時候,對于這個字段引用某個序列的當(dāng)前值即可
如何使用Oracle序列:
Oracle序列(sequence)是一種數(shù)據(jù)庫項,能夠生成一個整數(shù)序列。通常用于填充數(shù)字類型的主鍵列。
1、創(chuàng)建序列:
CREATE SEQUENCE sequence_name
[START WITH start_num]
[INCREMENT BY increment_num]
[{MAXVALUE maximum_num|NOMAXVALUE}]
[{MINVALUE minimum_num|NOMINVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE cache_num|NOCACHE}]
[{ORDER|NOORDER}]
其中:
start_num:序列開始整數(shù)
increment_num:每次增加的整數(shù)增量
maximum:序列最大整數(shù)
minimum:序列最小整數(shù)
CYCLE:循環(huán)生成
NOCYCLE:不循環(huán)生成,默認(rèn)值
cache_num:保存在內(nèi)存中的整數(shù)的個數(shù)
NOCACHE:不緩存任何整數(shù)
例如:
CREATE SEQUENCE seq_test;(默認(rèn)值)
CREATE SEQUENCE seq_test START WITH 1 INCREMENT BY 2;
2、使用序列:
SELECT seq_test.nextval FROM dual;
insert into order_status2 (id) values (seq_test.nextval);
3、修改序列:
ALTER SEQUENCE語句來修改序列。可以修改的內(nèi)容:
不能修改序列的初值
序列的最小值不能大于當(dāng)前值
序列的最大值不能小于當(dāng)前值
例如:ALTER SEQUENCE seq_test INCREMENT BY 3;
4、刪除序列:
DROP SEQUENCE seq_test;
實現(xiàn)思路:將主鍵設(shè)置為序列,自后每次按照固定規(guī)則增加相應(yīng)的數(shù)字即可。
1、首先要有create sequence或者create any sequence權(quán)限,
create sequence emp_sequence
INCREMENT BY 1 -- 每次加幾個
START WITH 1 -- 從1開始計數(shù)
NOMAXVALUE -- 不設(shè)置最大值
NOCYCLE -- 一直累加,不循環(huán)
CACHE 10;
2、插入到表中,
INSERT INTO emp VALUES
(emp_sequence .nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);
--創(chuàng)建序列的語法 --
CREATE SEQUENCE SEQ_POS_ORDER_ONLINE_ID
INCREMENT BY 1
START WITH 1000000000000042 -- 從1開始計數(shù) 或 MINVALUE 1 或 NOMINVALUE --的設(shè)置最小值 不設(shè)置最小值
NOMAXvalue -- 不設(shè)置最大值 或 MAXVALUE 10 --設(shè)置最大值 10
NOCYCLE -- 一直累加,不循環(huán) 或
CACHE 10; --設(shè)置緩存cache個序列,如果系統(tǒng)down掉了或者其它情況將會導(dǎo)致序列不連續(xù),也可以設(shè)置為---------NOCACHE
創(chuàng)建序列
CREATE SEQUENCE SEQUENCE_NAME
START WITH 10
INCREMENT BY 10
MAXVALUE 2000
MINVALUE 10
NOCYCLE
CACHE 10
?通過序列的偽列來訪問序列的值
–SEQUENCE_NAME.NEXTVAL
返回序列的下一個值
–SEQUENCE_NAME.CURRVAL
返回序列的當(dāng)前值