Oracle數(shù)據(jù)庫使用存儲(chǔ)過程創(chuàng)建自動(dòng)增長列
與SQL SERVER數(shù)據(jù)庫不同,Oracle數(shù)據(jù)庫沒有提供自動(dòng)增長列的功能,但是它可以通過一些設(shè)置來實(shí)現(xiàn)。Oracle中創(chuàng)建自動(dòng)增長主要有兩部分:1,創(chuàng)建序列(取得增長的數(shù)據(jù)),2,創(chuàng)建存儲(chǔ)過程(保存自動(dòng)執(zhí)行序列),接下來我們就開始介紹這一過程。
1.創(chuàng)建序列
- CREATE SEQUENCE my_seq ----以my_seq為名創(chuàng)建序列
- START WITH 1 ----從1開始遞增,可以是其他數(shù)字
- INCREMENT BY step ----步進(jìn)為1
- MAXVALUE 99999999999 [NOMAXVALUE] ----遞增的最大值,NOMAXVALUE沒有最大值
- NOCYCLE ----CYCLE在有最大值時(shí),達(dá)到最大值99999999999后循環(huán)從1開始再次遞增,NOCYCLE不循環(huán)
- CACHE 20 ----緩存,默認(rèn)為20
- NOORDER;
2.創(chuàng)建存儲(chǔ)過程
- CREATE TRIGGER my_trigger BEFORE INSERT ON table_name FOR EACH ROW
- BEGIN
- SELECT my_seq.NEXTVAL INTO :NEW.column_name FROM DUAL
- END
這樣就完成了,在插入的時(shí)候column_name字段就可以自動(dòng)增長了。
關(guān)于Oracle數(shù)據(jù)庫創(chuàng)建自動(dòng)增長列的知識(shí)就介紹到這里,如果想了解更多Oracle數(shù)據(jù)庫的知識(shí),可以看一下這里的文章:http://database.51cto.com/oracle/,您的收獲就是我們最大的快樂!
【編輯推薦】