Oracle 實(shí)現(xiàn)類似SQL Server中自增字段的一個辦法
更新時間:2009年07月30日 18:45:54 作者:
由于Oracle中沒有類似SQL Server中的自增字段,所以我們?nèi)绻胍ㄟ^設(shè)定類似ID性質(zhì)的唯一列的話,需要借助Oracle的sequence,先建立一個序列,然后在每次插入數(shù)據(jù)的時候,通過前觸發(fā)器來更新ID值,并將序列的序號加1,這樣的迂回方式來實(shí)現(xiàn)。
相關(guān)代碼如下:
1. 創(chuàng)建sequence:
CREATE SEQUENCE SEQU_DATA_DATAINFO INCREMENT BY 1 START WITH 1 NOCYCLE NOCACHE NOORDER;
2. 創(chuàng)建觸發(fā)器:
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;
1. 創(chuàng)建sequence:
復(fù)制代碼 代碼如下:
CREATE SEQUENCE SEQU_DATA_DATAINFO INCREMENT BY 1 START WITH 1 NOCYCLE NOCACHE NOORDER;
2. 創(chuàng)建觸發(fā)器:
復(fù)制代碼 代碼如下:
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;
您可能感興趣的文章:
- sqlserver2005自動創(chuàng)建數(shù)據(jù)表和自動添加某個字段索引
- SQL Server 打開或關(guān)閉自增長
- SqlServer Mysql數(shù)據(jù)庫修改自增列的值及相應(yīng)問題的解決方案
- SQL Server 2008怎樣添加自增列實(shí)現(xiàn)自增序號
- SQL Server設(shè)置主鍵自增長列(使用sql語句實(shí)現(xiàn))
- SQL Server修改標(biāo)識列方法 如自增列的批量化修改
- SQL SERVER 自增列
- SQL Server 中調(diào)整自增字段的當(dāng)前初始值
- SQL Server數(shù)據(jù)表字段自定義自增數(shù)據(jù)格式的方法
相關(guān)文章
inner join和left join之間的區(qū)別詳解
這篇文章主要給大家介紹了關(guān)于inner join和left join之間區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01oracle 層次化查詢(行政區(qū)劃三級級聯(lián))
現(xiàn)在將上面的行政區(qū)劃按代碼分為三個級別:?。ê笏奈粸?)/市(后兩位為0)/縣,同時分別標(biāo)出他們的級別,這樣的話,便于后期根據(jù)不同的級別查詢。2009-07-07ORACLE應(yīng)用經(jīng)驗(yàn)(1)
ORACLE應(yīng)用經(jīng)驗(yàn)(1)...2007-03-03oracle數(shù)據(jù)排序后獲取前幾行數(shù)據(jù)的寫法(rownum、fetch方式)
項(xiàng)目中用到Oracle分組查詢?nèi)∶拷M排序后的前N條記錄,group?by?只能返回每個組的單條統(tǒng)計(jì),下面這篇文章主要給大家介紹了關(guān)于oracle數(shù)據(jù)排序后獲取前幾行數(shù)據(jù)的寫法(rownum、fetch方式),需要的朋友可以參考下2022-12-12Oracle 創(chuàng)建監(jiān)控賬戶 提高工作效率
有很多Oracle服務(wù)器,需要天天查看TableSpace,比較麻煩了。2009-10-10Oracle sql批量插入多條數(shù)據(jù)的實(shí)現(xiàn)
這篇文章主要介紹了Oracle sql批量插入多條數(shù)據(jù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07