ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 批量赋予某些用户下的序列初值

批量赋予某些用户下的序列初值

原创 Linux操作系统 作者:道行尚浅 时间:2010-10-22 19:53:06 0 删除 编辑
DECLARE

V_VAL_BEGIN NUMBER  :=500-1;
V_SEQ_CURRVAL NUMBER ;


begin

  for r in (select *
             from dba_sequences t
            where t.sequence_owner in('XXX')
            ORDER BY T.sequence_owner,T.sequence_name)
            
  loop
   
   EXECUTE IMMEDIATE 'SELECT '||R.sequence_owner||'.'||R.SEQUENCE_NAME||'.NEXTVAL  FROM DUAL ' INTO V_SEQ_CURRVAL;
   
   DBMS_OUTPUT.put_line('alter sequence '||R.sequence_owner||'.'||R.SEQUENCE_NAME||' increment by '||to_char(V_VAL_BEGIN-V_SEQ_CURRVAL)||' ;');
   DBMS_OUTPUT.put_line('select '||R.sequence_owner||'.'||R.SEQUENCE_NAME||'.nextval from dual;');
   DBMS_OUTPUT.put_line('alter sequence '||R.sequence_owner||'.'||R.SEQUENCE_NAME||' increment by 1 cache 20 ;');
 
  end loop;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24558043/viewspace-676586/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-09-14

  • 博文量
    33
  • 访问量
    37746