2016-07-30 66 views
1

我有從高級隊列中取出隊列的作業過程,每次一個消息。當隊列爲空時應該引發異常並且我想在異常部分刪除那個作業,但是我沒有知道如何參考那份工作的工作。我希望有人能幫助我。在作業過程中引用jobnum - oracle plsql

回答

0

可以查詢SYS_CONTEXT('USERENV', 'BG_JOB_ID')獲取當前會話的作業ID

0

THX的男人。 同時,我發現我可以參考job_id創建工作。

「當作業定義在其自己的參數列表中引用這些作業參數時,它們的值將在作業執行時分配給作業定義中的參數。例如,假設名爲proc1的過程具有以下規格:

PROCEDURE PROC1(my_job_number整數); 還假設我們提交PROC1到作業隊列中執行如下:

DECLARE jobno整數; BEGIN DBMS_JOB.SUBMIT(jobno,`PROC1(my_job_number => job);'); END; / 當proc1由隊列執行時,my_job_number參數被分配了作業的作業編號,因此proc1將「知道」它的作業編號。「

而且這裏是鏈接http://docstore.mik.ua/orelly/oracle/bipack/ch13_01.htm,如果有人也將再次

nedded

謝謝