oracle序列怎么連續 oracle序列循環

關于oracle序列的問題

就是因為你重啟數據庫的原因吧,因為你設置了緩沖,cache size是保存在內存中的,重啟之后應該就消失了,不會被保存。

我們提供的服務有:網站制作、成都網站建設、微信公眾號開發、網站優化、網站認證、北屯ssl等。為1000+企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的北屯網站制作公司

嗯,樓上的回答也是原因之一,不過樓上的有一種方法避免,就是在確認會正確commit之后,再取seq的值,不過一般沒什么意義,seq只是為了自動生成主鍵或者是給一個數據編成系統唯一標識用的,沒啥意義,不用保持連續

oracle sequence如何循環

你這個其實挺復雜的,要建立一系列的東西來滿足你這個需求

給你做個實驗吧

先建立一個表

create?table?test

(id?varchar2(20)?not?null?primary?key?,

name?varchar2(100));

創建一個序列

create?sequence?seqTest?

increment?by?1?

start?with?1?

maxvalue?999

nocycle?

cache?10;

創建一個存儲過程,這個很重要,每天半夜12點執行一次,這個主要是把序列重新置0用的,然后還需要定義一個job來調用這個存儲過程

create?or?replace?procedure?p_seq

as

n?number(10);

v_sql?varchar2(100);

begin

select?seqTest.nextval?into?n?from?dual;

n:=-(n-1);

v_sql:='alter?sequence?seqTest?increment?by'||?n;

execute?immediate?v_sql;

select?seqTest.nextval?into?n?from?dual;

v_sql:='alter?sequence?seqTest?increment?by?1';

execute?immediate?v_sql;

end;

然后創建一個觸發器

create?or?replace?trigger?t_test???????

before?insert?on?test???????

for?each?row???????

begin???????

select?to_char(sysdate,'yyyymmdd')||'_'||lpad(seqTest.nextval,3,0)?into?:new.id?from?dual;?????

end?;

存儲過程我沒測試,但是編譯能過去

現在做個試驗

執行這樣一個語句

insert?into?test(name)?values?('aa');

然后你檢查下數據,然后繼續插入再看看

select?*?from?test;

oracle創建序列的語法

--創建序列的語法 --

CREATE SEQUENCE SEQ_POS_ORDER_ONLINE_ID

INCREMENT BY 1

START WITH 1000000000000042 -- 從1開始計數 或 MINVALUE 1 或 NOMINVALUE --的設置最小值 不設置最小值

NOMAXvalue -- 不設置最大值 或 MAXVALUE 10 --設置最大值 10

NOCYCLE -- 一直累加,不循環 或

CACHE 10; --設置緩存cache個序列,如果系統down掉了或者其它情況將會導致序列不連續,也可以設置為---------NOCACHE

在oracle中建表的時候用的是自動編號, 刪除某些記錄后如何恢復自動編號的序列號使其連續而不跳號?

如果使用了序列,那么這個跳號的問題只能通過編程來解決,否則是解決不了的。Oracle的序列對象只增加。

可以通過一個觸發器來實現序列號字段的處理,一旦插入新數據,就根據掃描的結果,修改序列號字段的值為最大值+1,或者某個值,根據定義的規則確定。

有的財務系統憑證號必須連續,當中間的某一張憑證刪除后就有這種需求,要求新產生的憑證號等于刪除的那一張。

網頁名稱:oracle序列怎么連續 oracle序列循環
網址分享:http://m.kartarina.com/article46/hgsshg.html

成都網站建設公司_創新互聯,為您提供云服務器品牌網站制作ChatGPT微信小程序App開發網站維護

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站建設
主站蜘蛛池模板: 精品久久久久久无码不卡| 亚洲国产无套无码av电影| 麻豆人妻少妇精品无码专区| 日韩中文无码有码免费视频| 国产成人麻豆亚洲综合无码精品 | 手机在线观看?v无码片| 国产麻豆天美果冻无码视频| 97人妻无码一区二区精品免费| 亚洲精品9999久久久久无码| 亚洲精品成人无码中文毛片不卡 | 永久无码精品三区在线4| 无码137片内射在线影院| r级无码视频在线观看| 亚洲精品自偷自拍无码| 亚洲中文字幕无码中文字在线| 亚洲av无码一区二区三区在线播放| 国产福利电影一区二区三区久久老子无码午夜伦不 | 三上悠亚ssⅰn939无码播放| 精品无码一区二区三区在线| 亚洲中文无码mv| 日本爆乳j罩杯无码视频| 极品无码国模国产在线观看| 夜夜添无码一区二区三区| 国产精品成人无码久久久| 亚洲AV无码一区二区三区性色| 亚洲国产超清无码专区| 日韩av无码一区二区三区| 激情无码人妻又粗又大| 无码高潮少妇毛多水多水免费| 国产成人无码AV麻豆| 最新无码人妻在线不卡| 亚洲AV人无码综合在线观看| 亚洲爆乳无码专区| 亚洲AV无码久久寂寞少妇| 久久午夜夜伦鲁鲁片无码免费| 亚洲精品高清无码视频| 麻豆亚洲AV永久无码精品久久| 无码免费一区二区三区免费播放| 亚洲欧洲日产国码无码久久99| 亚洲一区精品无码| 色综合AV综合无码综合网站|