最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2014年07月03日 09:34:35   投稿:junjie  
這篇文章主要介紹了Oracle中使用觸發(fā)器(trigger)和序列(sequence)模擬實(shí)現(xiàn)自增列實(shí)例,包含代碼實(shí)例,而且小編已經(jīng)測(cè)試過(guò)了哦,需要的朋友可以參考下

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

答:在Oracle中雖然沒(méi)有自增列的說(shuō)法,但卻可以通過(guò)觸發(fā)器(trigger)和序列(sequence)來(lái)模式實(shí)現(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; 

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

3、創(chuàng)建觸發(fā)器
創(chuàng)建一個(gè)基于該表的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ù)測(cè)試了。經(jīng)過(guò)本人證明,上述方法是可行的。

相關(guān)文章

最新評(píng)論

常山县| 福州市| 乌拉特前旗| 靖安县| 台南县| 大渡口区| 永定县| 乐亭县| 昌都县| 蓝山县| 淮安市| 左权县| 沾化县| 荔波县| 祁连县| 灌云县| 西乌珠穆沁旗| 梁平县| 贵阳市| 宜州市| 华坪县| 柳州市| 呈贡县| 浦北县| 泰来县| 麦盖提县| 宁安市| 甘洛县| 青州市| 洛阳市| 开鲁县| 建瓯市| 玉山县| 灵川县| 大庆市| 铜鼓县| 广昌县| 玛多县| 保定市| 浪卡子县| 铜山县|