In the development process, may use the Oracle sequence statement, this article takes the Oracle sequence statement how resets carries on the introduction, needs the friend to be possible to refer to under
Oracle Reset sequence Statement 1
SQL code
Copy Code code as follows:
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 Reset sequence Statement 2
SQL code
Copy Code code as follows:
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;