a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 13:58:06
字體:
來源:轉載
供稿:網友

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

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

示例:

1、建立表

復制代碼 代碼如下:

create table user 
(  
    id   number(6) not null,  
    name   varchar2(30)   not null primary key 

2、建立序列SEQUENCE

復制代碼 代碼如下:


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開始計數
--NOMAXVALUE        -- 不設置最大值
--NOCYCLE       -- 一直累加,不循環
--CACHE 10;     -- 緩存序列個數,有助于提高效率,但可能造成跳號

3、創建觸發器
創建一個基于該表的before insert 觸發器,在觸發器中使用剛創建的SEQUENCE。

復制代碼 代碼如下:

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; 


下面就可以插入數據測試了。經過本人證明,上述方法是可行的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲 欧美日韩 国产 中文 | 爱爱网址 | 一本色道精品久久一区二区三区 | 色播开心网 | 精品一区二区三区蜜桃 | 二区在线观看 | 在线国产91 | 日韩三级中文字幕 | 亚洲www永久成人夜色 | 波多野结衣亚洲 | 欧美色婷婷| 秋霞午夜 | 男女午夜 | 黄色高清网站 | 欧美日韩色图 | xnxx 日本19 | 日韩午夜电影 | 亚洲国产日韩在线 | 国产精品一区二区三区在线 | 国产suv精品一区二区6 | 欧美日韩在线免费观看 | 不卡日本 | 欧美日韩二区三区 | 91综合视频在线观看 | 欧美激情一区二区三区 | 精品三级在线 | 插插射啊爱视频日a级 | av黄色在线 | 日韩欧美黄色 | 亚洲三级视频 | 一区二区三区亚洲视频 | av在线免费观看网址 | 国产精品国产精品国产专区不片 | 国产精品美女久久久久久久网站 | 中文字幕国产在线观看 | 人人草视频在线观看 | 免费特级黄毛片 | 国产剧情一区二区 | 欧美日韩一区二区不卡 | 激情欧美日韩一区二区 | 高清久久久 |