存储过程单独执行没问题,加到job里面就报错

golduck 2017-11-02 05:07:38
我的存贮过程就是重置SEQUENCE ,代码如下:

PROCEDURE ResetSeq Authid Current_User IS
V_SeqName varchar2(100);
BEGIN
select decode(mod(trunc(sysdate)-to_Date('2014-01-01','yyyy-mm-dd'),2),1,'SEQ_B','SEQ_A')
INTO V_SeqName from dual;
EXECUTE IMMEDIATE 'DROP SEQUENCE '||V_SeqName;
EXECUTE IMMEDIATE 'CREATE SEQUENCE '||V_SeqName||' increment by 1 start with 1 nocache nocycle';
END;

新建job定时执行

declare jobno number;
begin
DBMS_JOB.SUBMIT(:jobno,
'ResetSeq;',
TRUNC(SYSDATE),'trunc(sysdate)+1');
commit;
end;

本来存储过程不加Authid Current_User会提示权限不足,然后会出现序列删除成功,但是无法新建的奇怪现象。
加了以后一切正常,但是放在job里面执行后,又出这个问题了,序列删了,但是没有新建。
...全文
666 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qq_28262375 2018-09-29
楼主问题解决了吗 我也是遇到了同样的问题 单独执行存储过程OK的 在job中 序列删除 但没有创建
  • 打赏
  • 举报
回复
Rotel-刘志东 2017-11-07
就是授权的问题
  • 打赏
  • 举报
回复
jdsnhan 2017-11-06
动态执行DDL语句时,需要显性的授权,不能借用角色内的权限
  • 打赏
  • 举报
回复
卖水果的net 2017-11-05
DROP SEQUENCE CREATE SEQUENCE 这两个权限,做一下显式授权
  • 打赏
  • 举报
回复
golduck 2017-11-04
没人帮忙回答下么
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
加入

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2017-11-02 05:07
社区公告
暂无公告