DECLARE v_in VARCHAR2 (1024); V_start Int;v_end int; V_table varchar2, V_seq varchar2, v_table_seq varchar2 (MB)
; Begin
v_table:= ' JX_KHFA ';--table name
v_seq:= ' SEQ_JX_KHFA ';--sequence name
v_table_seq:= ' id ';--table field corresponding sequence
v_in:= ' Select Max (' | | v_table_seq| | ') From ' | | The maximum value in the v_table;--query table is
execute immediate v_in into V_start;
v_in:= ' SELECT ' | | v_seq| | '. Nextval from dual ';-Query the next sequence value
execute immediate v_in into V_end;
v_in:= ' ALTER SEQUENCE ' | | v_seq| | ' INCREMENT by ' | | To_char (v_start-v_end+1);--Change step length
execute immediate v_in;
Execute immediate ' SELECT ' | | v_seq| | '. Nextval from dual ' into v_end;--executes a sequence
execute immediate ' ALTER SEQUENCE ' | | v_seq| | ' INCREMENT by 1 ';--change back to step end
;