在作业过程中引用作业编号 - oracle plsql

Posted

技术标签:

【中文标题】在作业过程中引用作业编号 - oracle plsql【英文标题】:Referencing jobnum within job procedure - oracle plsql 【发布时间】:2016-07-30 15:28:40 【问题描述】:

我有一个从高级队列中出列的作业过程,一次一条消息。当队列为空时,应该引发异常,我想在异常部分删除该作业,但我不知道如何引用该特定的作业编号工作。我希望有人可以帮助我。

【问题讨论】:

【参考方案1】:

可以查询SYS_CONTEXT( 'USERENV', 'BG_JOB_ID')获取当前会话的job id

【讨论】:

【参考方案2】:

谢谢你。 同时我发现我可以在创建工作时参考job_id。

"当作业定义在自己的参数列表中引用这些作业参数时,它们的值会在作业执行时分配给作业定义中的参数。例如,假设一个名为proc1的过程具有以下规范:

PROCEDURE proc1 (my_job_number INTEGER); 还假设我们提交 proc1 以由作业队列执行,如下所示:

声明 工作无整数; 开始 DBMS_JOB.SUBMIT(jobno,`proc1(my_job_number=>job);'); 结尾; / 当 proc1 被队列执行时,my_job_number 参数被分配了作业的作业号,因此 proc1 将“知道”它是什么作业号。”

这里是链接http://docstore.mik.ua/orelly/oracle/bipack/ch13_01.htm如果有人也将被nedded

再次感谢

【讨论】:

以上是关于在作业过程中引用作业编号 - oracle plsql的主要内容,如果未能解决你的问题,请参考以下文章

我如何在 Oracle PLSQL 中解决这个过程(这不是家庭作业或类似的东西)

执行 Java 的 Oracle 作业

Oracle系列:触发器作业序列连接

安排 Oracle 作业

ORACLE 存储过程报错 PLS-00103 求查错

如何在 Oracle SQL 中更新作业中的参数