Oracle 觸發器實現主鍵自增效果

觸發器的作用

  觸發器的作用類似攔截器.把一些針對數據庫的DML操作(insert/update/delete/select)進行攔截,符合業務要求的進行操作,不符合要求的操作可以通過拋出異常來阻止

  說白瞭就是數據確認(after)與安全性檢查(before),此外觸發器不針對select操作

1.首先創建表testUser

        Oracle設置為不區分大小的,所以table名,言簡意賅即可。

CREATE TABLE testUser ( id NUMBER ( 11 ) primary key, name VARCHAR ( 50 ) );

2.創建sequence,最小值為1,最大值為99999999,初始為1,步長1

        sequence名的話針對某張表習慣命名為:seq_表名

CREATE sequence seq_testUser minvalue 1 maxvalue 99999999 START WITH 1 INCREMENT BY 1 nocache ORDER;

3.創建觸發器

        觸發器是基於sequence 所以習慣命名為:trg_sequence名

CREATE 
	OR REPLACE TRIGGER trg_seq_testUser BEFORE INSERT ON testUser FOR EACH ROW
BEGIN
	SELECT
		seq_testUser.nextval INTO : new.id 
	FROM
		dual;
	
END;

4.插入一條數據

insert into testUser(username) values('強哥0');
insert into testUser(username) values('強哥1');
insert into testUser(username) values('強哥2');

5查詢結果

select * from testUser

到此這篇關於Oracle 觸發器實現主鍵自增的文章就介紹到這瞭,更多相關Oracle 觸發器主鍵自增內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: