execute immediate alter sequence not working

后端 未结 2 445
感动是毒
感动是毒 2020-12-19 16:26

I\'m stuck on this pretty simple script. It isn\'t working like I expect it to.

declare
 st VARCHAR(1024);
begin
  for x in (SELECT sequence_name FROM USER_S         


        
2条回答
  •  醉酒成梦
    2020-12-19 16:50

    The restart start with syntax in 12c can simplify the steps:

    create sequence test_sequence;
    
    declare
     st VARCHAR(1024);
    begin
      for x in (SELECT sequence_name, last_number FROM USER_SEQUENCES) loop
          st := 'ALTER SEQUENCE ' || x.sequence_name
              || ' RESTART START WITH ' || to_char(x.last_number+1000);
          execute immediate st;
      end loop;
    end;
    /
    
    select test_sequence.nextval from dual;
    
    NEXTVAL
    -------
       1001
    

提交回复
热议问题