CREATE OR REPLACE PROCEDURE RESET_SEQUENCE(p_sSeqName IN VARCHAR2) IS n NUMBER(10 ); tsql VARCHAR2(100 ); BEGIN EXECUTE IMMEDIATE 'SELECT ' || p_sSeqName || '.NEXTVAL FROM dual ' INTO n; n := - (n - 1); tsql := 'alter sequence ' || p_sSeqName || ' increment by ' || n; EXECUTE IMMEDIATE tsql; EXECUTE IMMEDIATE 'SELECT ' || p_sSeqName || '.NEXTVAL FROM dual ' INTO n; tsql := 'alter sequence ' || p_sSeqName || ' increment by 1' ; EXECUTE IMMEDIATE tsql; EXCEPTION WHEN OTHERS THEN NULL; END RESET_SEQUENCE;
Oracle 重置sequence2
猜你喜欢
转载自southking.iteye.com/blog/1728016
今日推荐
周排行