工作中用到訂單號需要每天從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...