oracle 序列重置

2021-07-03 11:07:33 字數 803 閱讀 9652

問題一:如何重置oracle序列

oracle序列建立以後,如果想重置序列從 0 開始,逐漸遞增1,可以採用如下儲存過程:

create

or replace

procedure

reset_seq

( p_seq_name in varchar2 )

isl_val

number;

begin

execute immediate

'select ' || p_seq_name || '.nextval from dual'

into l_val;

execute immediate

'alter sequence ' || p_seq_name || ' increment by -' || l_val ||

' minvalue 0';

execute immediate

'select ' || p_seq_name || '.nextval from dual'

into l_val;

execute immediate

'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0';

end;

/

執行傳入序列名稱即可:

execute reset_seq(『test_seq』);

即可

參考: click here

oracle重置序列

檢視對應序列,一般seq開頭,模糊查詢表名 select from user sequences where sequence name like khroleaccess 此處查詢出來序列名為seq khroleaccess,下邊以此序列名為例,實際應用時改為自己序列名即可。select seq ...

Oracle序列重置

oracle 中的序列我們一般用來生成流水號,所以需要進行重置 如每天凌晨重置一次 我們雖然可以通過重新編譯的方式重置序列,可是這種方法會有弊端,比如導致與該序列相關的儲存過程或函式失效等等,需要重新編譯 於是就需要一種不編譯也可以重置序列的方法 這種方式,不用刪除,利用步長引數,先查出sequen...

ORACLE通過JOB每天重置序列

場景 某個業務表單裡有個合同編號,需求要求是合同類別 年月日 流水號,流水號需要每天重置,於是就用上了oracle裡的序列通過job每天進行重置。1.建立序列 create sequence create sequence fotc relocate projectcode seq minvalue...