导数据后,避免ID重复,全部序列增加10000

create or replace procedure pro_Supplement_Leave_Mapping1   AS
  CURSOR TEMP_CUR IS
  select SEQUENCE_NAME from user_sequences 
  where 1=1 
  and SEQUENCE_NAME not like 'SQ_PRICE%';
  V_SEQUENCE_NAME VARCHAR2(4000);
  STRSQL VARCHAR2(4000);
  nm number(1);
  n number(10);
  --P_VALUE  VARCHAR2(4000);
begin

  For TEMP_CUR_RECORD in TEMP_CUR loop
    V_SEQUENCE_NAME := TEMP_CUR_RECORD.SEQUENCE_NAME;
    BEGIN
     nm:=1; 
     n:=1;
     loop
     --P_VALUE := '(select max(id) from  '||v_tablename || ' where rownum=1)';
     if nm=1 then
       STRSQL :='ALTER SEQUENCE '||V_SEQUENCE_NAME||' INCREMENT BY 10000';
       execute immediate STRSQL;
     --STRSQL :='insert into SEQCESHI(table_name,column_name,maxid)values('''||v_tablename||''','''||v_column||''','||P_VALUE||')';
     elsif nm=2 then 
       --STRSQL :='SELECT '||V_SEQUENCE_NAME||'.NEXTVAL FROM DUAL';
       execute immediate 'SELECT '||V_SEQUENCE_NAME||'.NEXTVAL FROM DUAL' into n;
     else 
       STRSQL :='ALTER SEQUENCE '||V_SEQUENCE_NAME||' INCREMENT BY 1';
       execute immediate STRSQL;   
     end if;
     nm:=nm+1;
     exit when nm>3;
     end loop;
     commit;
    END;
  end loop;
end pro_Supplement_Leave_Mapping1;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值