存储过程单独执行没问题,加到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里面执行后,又出这个问题了,序列删了,但是没有新建。
...全文
892 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
没人帮忙回答下么

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧