UNREGISTER¶
UNREGISTER
プロシージャを使用して、エンキューおよびデキューに関連する通知をオフにします。署名は次のとおりです。
UNREGISTER(
<reg_list> IN SYS.AQ$_REG_INFO_LIST,
<count> IN NUMBER)
Parameter
reg_list
reg_list
はAQ$_REG_INFO_LIST
タイプのリストです。登録する各サブスクリプションに関する情報を提供します。リスト内の各エントリはAQ$_REG_INFO
タイプであり、以下を含むことができます。
属性
種類
説明
name
VARCHAR2(128)
サブスクリプションの(オプションでスキーマ修飾された)名前。
namespace
数値
サポートされている値は
DBMS_AQ.NAMESPACE_AQ (0)
のみです
callback
VARCHAR2(4000)
通知時に実行されるアクションを説明します。現在、PL/SQLプロシージャのコールのみがサポートされています。呼び出しの形式は次のとおりです。
plsql://schema.procedure
どこで:
schemaは、プロシージャが存在するスキーマを指定します。
procedureは、通知されるプロシージャの名前を指定します。
context
RAW(16)
プロシージャに必要なユーザー定義の値。
count
count
はreg_list
のエントリ数です。
Example
次の匿名ブロックは DBMS_AQ.UNREGISTER
を呼び出し、 DBMS_AQ.REGISTER
の例で指定された通知を無効にします。
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.unregister(subscriptionlist, 3);
commit;
END;
/
subscriptionlist
は sys.aq$_reg_info_list
タイプで、前述の sys.aq$_reg_info
オブジェクトが含まれています。リスト名とオブジェクト数は dbms_aq.unregister
に渡されます。