oracle sequence语句重置方介绍 |
在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下 Oracle重置sequence语句1 Sql代码 复制代码 代码如下: DECLARE n NUMBER(10 ); tsql VARCHAR2(100 ); p_seqName varchar2(20 ); BEGIN p_seqName := SEQ_RUN_ID; EXECUTE IMMEDIATE SELECT || p_seqName || .NEXTVAL FROM dual INTO n; n := - (n - 1); tsql := alter sequence || p_seqName || increment by || n; EXECUTE IMMEDIATE tsql; EXECUTE IMMEDIATE SELECT || p_seqName || .NEXTVAL FROM dual INTO n; tsql := alter sequence || p_seqName || increment by 1 ; EXECUTE IMMEDIATE tsql; EXCEPTION WHEN OTHERS THEN dbms_output.put_line( SQLERRM); END; Oracle重置sequence语句2 Sql代码 复制代码 代码如下: 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; |