UNREGISTER

UNREGISTER プロシージャを使用して、エンキューおよびデキューに関連する通知をオフにします。署名は次のとおりです。

UNREGISTER(
  <reg_list> IN SYS.AQ$_REG_INFO_LIST,
  <count> IN NUMBER)

Parameter

reg_list

reg_listAQ$_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

countreg_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;
   /

subscriptionlistsys.aq$_reg_info_list タイプで、前述の sys.aq$_reg_info オブジェクトが含まれています。リスト名とオブジェクト数は dbms_aq.unregister に渡されます。