我有从高级队列中出队的作业程序,一次一条消息。当队列为空时,应该引发异常并且我想在异常部分删除该作业,但我不知道如何引用该特定的作业我希望有人可以帮助我。
答案 0 :(得分:0)
您可以查询SYS_CONTEXT( 'USERENV', 'BG_JOB_ID')
以获取当前会话的作业ID
答案 1 :(得分:0)
Thx man。 与此同时,我发现我可以参考job_id来创造这份工作。
"当作业定义在其自己的参数列表中引用这些作业参数时,它们的值将在作业执行时分配给作业定义中的参数。例如,假设一个名为proc1的过程具有以下规范:
PROCEDURE proc1(my_job_number IN INTEGER); 假设我们提交proc1以由作业队列执行,如下所示:
DECLARE jobno INTEGER; 开始 DBMS_JOB.SUBMIT(jobno,`PROC1(my_job_number =>作业);&#39); 结束; / 当proc1由队列执行时,my_job_number参数被分配了作业的作业号,因此proc1将"知道"它的工号是什么。"
以下是链接http://docstore.mik.ua/orelly/oracle/bipack/ch13_01.htm,如果有人也将是
再次感谢