佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Oracle中使用觸發(fā)器(trigger)和序列(sequence)模擬實現(xiàn)自增列實例

Oracle中使用觸發(fā)器(trigger)和序列(sequence)模擬實現(xiàn)自增列實例

熱門標(biāo)簽:服務(wù)外包 呼叫中心市場需求 AI電銷 地方門戶網(wǎng)站 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 百度競價排名 鐵路電話系統(tǒng)

問題:在SQL Server數(shù)據(jù)庫中,有自增列這個字段屬性,使用起來也是很方便的。而在Oracle中卻沒有這個功能,該如何實現(xiàn)呢?

答:在Oracle中雖然沒有自增列的說法,但卻可以通過觸發(fā)器(trigger)和序列(sequence)來模式實現(xiàn)。

示例:

1、建立表

復(fù)制代碼 代碼如下:
create table user 
(  
    id   number(6) not null,  
    name   varchar2(30)   not null primary key 

2、建立序列SEQUENCE

復(fù)制代碼 代碼如下:

create sequence user_seq increment by 1 start with 1 minvalue 1 maxvalue 9999999999999 nocache order; 

語法:
CREATE SEQUENCE s_id NOMAXVALUE NOCYCLE
--INCREMENT BY 1    -- 每次加幾個
--START WITH 1      -- 從1開始計數(shù)
--NOMAXVALUE        -- 不設(shè)置最大值
--NOCYCLE       -- 一直累加,不循環(huán)
--CACHE 10;     -- 緩存序列個數(shù),有助于提高效率,但可能造成跳號

3、創(chuàng)建觸發(fā)器
創(chuàng)建一個基于該表的before insert 觸發(fā)器,在觸發(fā)器中使用剛創(chuàng)建的SEQUENCE。

復(fù)制代碼 代碼如下:
create or replace trigger user_trigger  
before insert on user 
for each row  
begin 
      select   user_seq.nextval  into:new.id from sys.dual ;  
end; 

下面就可以插入數(shù)據(jù)測試了。經(jīng)過本人證明,上述方法是可行的。

您可能感興趣的文章:
  • 分享ORACLE SEQUENCE跳號總結(jié)
  • 詳解ORACLE SEQUENCE用法
  • sqlserver實現(xiàn)oracle的sequence方法
  • Oracle創(chuàng)建自增字段--ORACLE SEQUENCE的簡單使用介紹
  • oracle sequence語句重置方介紹
  • Hibernate Oracle sequence的使用技巧
  • 通過實例了解Oracle序列Sequence使用方法

標(biāo)簽:銅川 湖南 崇左 湘潭 蘭州 衡水 仙桃 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle中使用觸發(fā)器(trigger)和序列(sequence)模擬實現(xiàn)自增列實例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    辽中县| 资阳市| 滨海县| 会理县| 弥渡县| 台北县| 禹州市| 台安县| 惠来县| 牙克石市| 陕西省| 灵川县| 新竹市| 双牌县| 灵台县| 镇平县| 尖扎县| 弋阳县| 禹州市| 修文县| 太保市| 喀喇沁旗| 昌平区| 中超| 九龙坡区| 侯马市| 太保市| 子长县| 弥渡县| 赤水市| 来凤县| 阳泉市| 施甸县| 大洼县| 韩城市| 武城县| 平远县| 阜新| 延庆县| 阿拉善左旗| 曲周县|