本文主要介紹oracle重置序列指定如何從指定的數字開始(oracle重置序列),下面一起看看oracle重置序列指定如何從指定的數字開始(oracle重置序列)相關資訊。
從指定的數字開始重置oracle序列。復制代碼代碼如下:聲明n個數字(10);v _ startnum number(10):= 10000001;多少個起始v_step數(10):= 1;步驟tsql varchar 2(200);v_seqname varchar2(200):;mip _ jf _序列 ;序列名稱開始立即執(zhí)行elect | | v _ seqname | | nextval from dual ;變成n ;n:= v _ startnum-n-v _ step;-從10000001開始,tsql:= ;更改序列| | v _ seqname | | | 增量n | |處決tsql;立即;立即執(zhí)行elect | | v _ seqname | | nextval from dual ;變成n ;tsql:= ;更改序列| | | v _ seqname | | 增量 | | | v _ step處決tsql;立即;結束;在不刪除重建的情況下,重新排序序列是一種簡單的方法。一般來說,實際開發(fā)過程中經常用到序列。通過它生成主鍵非常方便,但有時我們需要將其重置為零。我們通常使用的方法是刪除它,然后重新創(chuàng)建它?,F在讓我們 s換個看:復制代碼如下:sql create sequence seq _ 1遞增1從1開始最大值99999999;序列已創(chuàng)建。創(chuàng)建或替換的程序seq_reset(v_seqname varchar2)為2n(10);3 tsql·瓦沙爾2(100);4開始5立即執(zhí)行elect | | v _ seqname | | nextval from dual ;變成n ;6n:=(n-1);7 tsql:= ;改變順序。;增量n | |8處決tsql;立即;9立即執(zhí)行elect | | v _ seqname | | nextval from dual ;變成n ;10 tsql:= ;更改序列| | v_seqna我| | 增量1;11處決tsql;立即;12年末,seq _ reset;13這一進程已經建立。sql選擇seq _ 1.nextval double兩個sql nexttv-三個sql nexttv-四個sql nexttv-五個sql exec seq _ reset( ;seq _ 1);pl/sql過程已成功完成。sql選擇seq _ 1.currval doublecurrval-sql這個程序可以隨時調用,達到序列重置的目的。這個存儲過程編寫得很快,無需進一步描述就可以進一步改進。oracle重置序列(無重建方法)在oracle中,當自增序列重置為初始1時,全部刪除并重建。這種方法有許多缺點。它的函數和存儲過程將失敗,需要重新編譯。但是,有一個巧妙的方法可以刪除序列。首先,通過使用步長參數找到序列的nextval。記住將增量改為負值(依次),然后再改回來。假設序列名需要修改:seq_name 1,select seq _ name.nextval double//假設結果5656 2。將序列seq_name增量更改為5655;//注-(n-1) 3。select seq _ name.nextval double//再檢查一遍,去重置為1。4.1.更改序列seq_name增量;//restore可以寫一個存儲過程,下面是完整的存儲過程,然后就可以調用了:復制代碼如下:創(chuàng)建或替換程序seq _ reset(v _ seqnamevarchar 2)no . n(10);tsql·瓦查2(100);立即開始執(zhí)行 選擇| | v _ seqname | | next tv from dual ;變成n ;=(n-1);tsql:= ;改變順序。;增量n | |處決tsql;立即;立即執(zhí)行elect | | v _ seqname | | nextval from dual ;變成n ;tsql:= ;改變順序。;增量1;處決tsql;立即;最后seq _ reset;
了解更多oracle重置序列指定如何從指定的數字開始(oracle重置序列)相關內容請關注本站點。