我想每天自动执行以下SQL,目的就是每天从1开始递增
begin 
    EXECUTE IMMEDIATE 'DROP SEQUENCE SEQ_QCNO';
    
    EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_QCNO START WITH 1 MAXVALUE 999 MINVALUE 1 CYCLE NOCACHE NOORDER';
end;直接在toad中执行这段是没有问题的,可一但设到job中,第二句总是不执行,不知问题出在哪里?
望高手指点迷津,谢谢

解决方案 »

  1.   

    你怎么设置JOB的?
    有没有错误代码?
      

  2.   

    这样建立个procedure 在job中调用procedure应该可以
    有问题的话 把代码贴出来
      

  3.   

    应该 就是这句:
    EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_QCNO START WITH 1 MAXVALUE 999 MINVALUE 1 CYCLE NOCACHE NOORDER';放入job中就无法执行了,但job运行时没看到什么报错信息
    怎么样才能利用job创建seqence呢?
      

  4.   

    感谢楼上两位,找到原因了,就是在执行create sequence语句时,首先要给当前用户授权(grant create sequence to username),不管这个用户当前有没有这个权限:
        execute immediate 'DROP SEQUENCE SEQ_QCNO';
        execute immediate 'GRANT CREATE ANY SEQUENCE TO sh_aaa';
        execute immediate 'CREATE SEQUENCE SEQ_QCNO START WITH 1 MAXVALUE 999 MINVALUE 1 CYCLE NOCACHE NOORDER';