REGISTER v14
Use the REGISTER procedure to register an email address, procedure, or URL to notify when an item is enqueued or dequeued. The signature is:
REGISTER( <reg_list> IN SYS.AQ$_REG_INFO_LIST, <count> IN NUMBER)
Parameters
reg_list is a list of type AQ$_REG_INFO_LIST that provides information about each subscription that you want to register. Each entry in the list is of the type AQ$_REG_INFO and can contain:
| Attribute | Type | Description |
|---|---|---|
name | VARCHAR2 (128) | The (optionally schema-qualified) name of the subscription. |
namespace | NUMERIC | The only supported value is DBMS_AQ.NAMESPACE_AQ (0). |
callback | VARCHAR2 (4000) | Describes the action to perform on notification. Currently, only calls to PL/SQL procedures are supported. The call takes the form:plsql://schema.procedureWhere: schema specifies the schema in which the procedure resides. procedure specifies the name of the procedure to notify. |
context | RAW (16) | Any user-defined value required by the procedure. |
count
count is the number of entries in reg_list.
Example
The following anonymous block calls DBMS_AQ.REGISTER, registering procedures to notify when an item is added to or removed from a queue. A set of attributes (of sys.aq$_reg_info type) is provided for each subscription identified in the DECLARE section:
DECLARE
subscription1 sys.aq$_reg_info;
subscription2 sys.aq$_reg_info;
subscription3 sys.aq$_reg_info;
subscriptionlist sys.aq$_reg_info_list;
BEGIN
subscription1 := sys.aq$_reg_info('q', DBMS_AQ.NAMESPACE_AQ,
'plsql://assign_worker?PR=0',HEXTORAW('FFFF'));
subscription2 := sys.aq$_reg_info('q', DBMS_AQ.NAMESPACE_AQ,
'plsql://add_to_history?PR=1',HEXTORAW('FFFF'));
subscription3 := sys.aq$_reg_info('q', DBMS_AQ.NAMESPACE_AQ,
'plsql://reserve_parts?PR=2',HEXTORAW('FFFF'));
subscriptionlist := sys.aq$_reg_info_list(subscription1,
subscription2, subscription3);
dbms_aq.register(subscriptionlist, 3);
commit;
END;
/The subscriptionlist is of type sys.aq$_reg_info_list and contains the previously described sys.aq$_reg_info objects. The list name and an object count are passed to dbms_aq.register.
- On this page
- Parameters
- Example