2016-07-30 3 views
1

У меня есть процедура работы, которая делает dequeuing из расширенной очереди, по одному сообщению в то время. Когда очередь будет пустой, исключение должно быть поднято, и я хочу, чтобы в разделе исключения удалялось это задание, но я не знайте, как направить jobnum этой конкретной работы. Я надеюсь, что кто-то может мне помочь.Ссылка на jobnum в рамках процедуры работы - oracle plsql

ответ

0

Вы можете запросить SYS_CONTEXT('USERENV', 'BG_JOB_ID'), чтобы получить идентификатор задания текущего сеанса

0

Thx человека. В то же время я узнал, что я могу ссылаться на job_id, связанное с созданием задания.

«Когда задание задания ссылается на эти параметры задания в своем списке параметров, их значения присваиваются параметрам в определении задания при выполнении задания. Например, предположим, что процедура, называемая proc1, имеет следующую спецификацию:

ПРОЦЕДУРА proc1 (my_job_number IN INTEGER); Предположим также, что мы подчиняемся proc1 будет выполняться по очереди заданий следующим образом:

DECLARE jobno Integer; BEGIN DBMS_JOB.SUBMIT (jobno, `proc1 (my_job_number => задание); '); END; / Когда proc1 выполняется очередью, параметру my_job_number присваивается номер задания задания, и, таким образом, proc1 «знает», какой номер задания он ».

А вот ссылка http://docstore.mik.ua/orelly/oracle/bipack/ch13_01.htm если кто-то и будет nedded

Спасибо еще раз

Смежные вопросы