問題一:如何重置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...