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



















