📄 bz_dequeue_eg.sql
字号:
REM script name: bz_enqueue_eg.sqlREM Shows various ways to do a dequeueREMREM version: 9iREM====================================================================REM I. Non-blocking dequeueREM====================================================================declare deqopt dbms_aq.dequeue_options_t; mprop dbms_aq.message_properties_t; msgid RAW(16); payload bzcardorder_typ;begin deqopt.consumer_name := 'BILLING'; deqopt.navigation := DBMS_AQ.FIRST_MESSAGE; deqopt.wait := 0; dbms_aq.dequeue( queue_name => 'bzcardorders_q', dequeue_options => deqopt, message_properties => mprop, payload => payload, msgid => msgid);-- You can perform multiple database operations in the same transaction-- You need not commit here Or you can use visibility immediate to commit commit;end;/REM====================================================================REM II. Blocking dequeueREM====================================================================declare deqopt dbms_aq.dequeue_options_t; mprop dbms_aq.message_properties_t; msgid RAW(16); payload bzcardorder_typ;begin deqopt.consumer_name := 'SHIPPING'; deqopt.navigation := DBMS_AQ.FIRST_MESSAGE; deqopt.wait := 30; -- wait for 30 seconds dbms_aq.dequeue( queue_name => 'bzcardorders_q', dequeue_options => deqopt, message_properties => mprop, payload => payload, msgid => msgid);-- You can perform multiple database operations in the same transaction-- You need not commit here Or you can use visibility immediate to commit commit;end;/REM====================================================================REM III. Dequeue with dequeue_conditionREM====================================================================declare deqopt dbms_aq.dequeue_options_t; mprop dbms_aq.message_properties_t; msgid RAW(16); payload bzcardorder_typ;begin deqopt.consumer_name := 'SHIPPING'; deqopt.navigation := DBMS_AQ.FIRST_MESSAGE;-- dequeue messages older than 30 seconds deqopt.deq_condition := 'sysdate - enq_time > 30/86400'; dbms_aq.dequeue( queue_name => 'bzcardorders_q', dequeue_options => deqopt, message_properties => mprop, payload => payload, msgid => msgid);-- You can perform multiple database operations in the same transaction-- You need not commit here Or you can use visibility immediate to commit commit;end;/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -