178:
179: BEGIN
180:
181: BEGIN
182: DBMS_AQADM.CREATE_QUEUE_TABLE (queue_table => p_qtable,
183: multiple_consumers => TRUE,
184: queue_payload_type => p_qpayload_type,
185: compatible => '8.1');
186: DBMS_AQADM.CREATE_QUEUE (queue_name => p_qname,
182: DBMS_AQADM.CREATE_QUEUE_TABLE (queue_table => p_qtable,
183: multiple_consumers => TRUE,
184: queue_payload_type => p_qpayload_type,
185: compatible => '8.1');
186: DBMS_AQADM.CREATE_QUEUE (queue_name => p_qname,
187: queue_table => p_qtable,
188: max_retries => 2);
189: DBMS_AQADM.START_QUEUE (queue_name => p_qname);
190: EXCEPTION
185: compatible => '8.1');
186: DBMS_AQADM.CREATE_QUEUE (queue_name => p_qname,
187: queue_table => p_qtable,
188: max_retries => 2);
189: DBMS_AQADM.START_QUEUE (queue_name => p_qname);
190: EXCEPTION
191: WHEN qtblexists THEN
192: l_ret_val := 'TE'; --Table Exists
193: WHEN qexists THEN
216: pragma exception_init(sub_exists, -24034);
217:
218: BEGIN
219: l_subscriber := sys.aq$_agent(p_subscriber, p_qname, null);
220: dbms_aqadm.add_subscriber (queue_name => p_qname,
221: subscriber => l_subscriber,
222: rule => p_sub_rule);
223: RETURN TRUE;
224:
236: qnotthere exception;
237: pragma exception_init(qnotthere, -24010);
238:
239: BEGIN
240: DBMS_AQADM.DROP_QUEUE_TABLE(queue_table => p_qtable, force => TRUE);
241:
242: EXCEPTION
243: WHEN qnotthere THEN
244: RETURN TRUE;