利用儲存過程重置序列

2021-09-11 00:23:41 字數 756 閱讀 4363

工作中用到訂單號需要每天從1累加。通過序列提供訂單號,每天通過儲存過程來重置改序列從1開始

建立序列:

create sequence order_seqid

minvalue 0

maxvalue 9999

start with 1

increment by 1

cache 20;

重置的儲存過程:

create or replace procedure seq_reset(v_seqname varchar2) as n number(10);

tsql varchar2(100);

begin

execute immediate 'select '||v_seqname||'.nextval from dual' into n;

n:=-n;

tsql:='alter sequence '||v_seqname||' increment by '|| n;

execute immediate tsql;

execute immediate 'select '||v_seqname||'.nextval from dual' into n;

tsql:='alter sequence '||v_seqname||' increment by 1';

execute immediate tsql;

end seq_reset;

呼叫方式:call seq_reset('order_seqid');

用儲存過程重置序列

sql create sequence seq 1 increment by 1 start with 1 maxvalue 999999999 序列已建立。sql create or replace procedure seq reset v seqname varchar2 as n numbe...

利用VS除錯儲存過程

大家一定在編寫或分析乙個複雜存錯過程時,很希望能想vb 一樣進行除錯,可惜sql server本身並沒有提供偵錯程式,我們可以利用vs來進行除錯。我寫了乙個簡單的儲存過程,介紹一下用vs除錯儲存過程的步驟。12 3 4 5 6 7 8 9 10 11 12 13 14 createprocedure...

oracle 序列重置

問題一 如何重置oracle序列 oracle序列建立以後,如果想重置序列從 0 開始,逐漸遞增1,可以採用如下儲存過程 create or replace procedure reset seq p seq name in varchar2 isl val number begin execute...