Oracle 實現類似SQL Server中自增字段的一個辦法

由于oracle中沒有類似SQL Server中的自增字段,所以我們如果想要通過設定類似ID性質的唯一列的話,需要借助Oracle的sequence,先建立一個序列,然后在每次插入數據的時候,通過前觸發器來更新ID值,并將序列的序號加1,這樣的迂回方式來實現。

相關代碼如下:
1. 創建sequence:
代碼如下:
CREATE SEQUENCE SEQU_DATA_DATAINFO INCREMENT BY 1 START WITH 1 NOCYCLE NOCACHE NOORDER;

2. 創建觸發器:
代碼如下:
create or replace TRIGGER TRIG_TEST
BEFORE INSERT ON TABLE1
FOR EACH ROW
DECLARE
tmpVar NUMBER;
BEGIN
tmpVar := 0;
Select SEQU_PROC_ASSOCIATEINFO.NextVal into tmpVar from dual;
:new.procid:=tmpVar;
EXCEPTION
WHEN OTHERS THEN
— Consider logging the error and then re-raise
RAISE;
END;

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享