Oracle 通過觸發器實現ID自增

2022-03-30 11:43:37 字數 821 閱讀 8345

oracle不像mysql,sqlserver能夠直接設定id自增,但是可以通過觸發器實現id自增。

1 建立測試表

create table t_goods(id number primary key, good_name varchar2(50));

2 建立序列 

create sequence seq_goods_id

start with 1

increment by 1;

3 建立觸發器

create or replace trigger tr_insert_good

before insert on goods for each row

begin

select seq_goods_id.nextval

into :new.id

from dual;

end;

4 插入測試資料

insert into t_goods(good_name)

values('transforms');

insert into t_goods(id,good_name)

values(2,'lego');

insert into t_goods(id,good_name)

values(2,'cube');

5 查詢測試結果

可以看出我們使用觸發器對id設定自增之後,在插入資料的時候我們對id賦值沒有起到任何作用,它始終按照觸發器設定的模式進行自增。

Oracle使用觸發器實現id自增長

1 首先建立一張表,例如 部門表 create table department department id number 6 primary key,department name varchar2 64 department profile varchar2 255 department sup...

oracle 序列 觸發器 實現 ID自動增長

1 建立序列 create sequence emp sequence increment by 1 每次增加幾個 minvalue 1 最小值為1 nomaxvalue 不限制最大值 start with 1 從1開始 cache 10 快取 order 2 建立觸發器 create or rep...

ORACLE觸發器 行級觸發器

行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸發器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例乙個簡單的...