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タイプであり、以下を含むことができます。
属性
種類
説明
nameVARCHAR2(128)
サブスクリプションの(オプションでスキーマ修飾された)名前。
namespace数値
サポートされている値は
DBMS_AQ.NAMESPACE_AQ (0)のみです
callbackVARCHAR2(4000)
通知時に実行されるアクションを説明します。現在、PL/SQLプロシージャのコールのみがサポートされています。呼び出しの形式は次のとおりです。
plsql://schema.procedureどこで:
schemaは、プロシージャが存在するスキーマを指定します。
procedureは、通知されるプロシージャの名前を指定します。
contextRAW(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 に渡されます。