⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bz_dequeue_eg.sql

📁 oracle9i+j2ee开发aq oracle9i+j2ee开发aq oracle9i+j2ee开发aq
💻 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 + -