orcale序列設定為某個值
阿新 • • 發佈:2018-12-21
1.刪除序列重新建立
--刪除
drop sequence seq_test ;
--建立
create sequence seq_test
increment by 1
start with 指定數字
2.不刪除序列
重置:
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-1); 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;
指定數字開始:
declare n number(10); v_startnum number(10):=10000001;--從多少開始 v_step number(10):=1;--步進 tsql varchar2(200); v_seqname varchar2(200):='MIP_JF_SEQUENCE';--序列名 begin execute immediate 'select '||v_seqname||'.nextval from dual' into n; n:=v_startnum-n-v_step;--從10000001開始 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 '||v_step; execute immediate tsql; end;
直接寫:
--4584399777需要到的位置 473744018 此時的位置
select 4584399777-473744018 from dual;
Alter Sequence seq_c_port Increment By 4110655759;
Select seq_c_port.nextval From Dual;
Alter Sequence seq_c_port Increment By 1;