ヘッダーをスキップ
Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス
11g リリース1(11.1)
E05686-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

237 ルール・マネージャのタイプ

ルール・マネージャには、事前定義タイプおよびこのタイプのパブリック・シノニムがあります。


関連項目:

詳細は、『Oracle Databaseルール・マネージャおよび式フィルタ開発者ガイド』を参照してください。

この章では、次の項目について説明します。


ルール・マネージャのタイプの要約

表237-1に、ルール・マネージャのオブジェクト・タイプを示します。

表237-1 ルール・マネージャのオブジェクト・タイプ

オブジェクト・タイプ名 説明

RLM$EVENTIDSオブジェクト・タイプ


CONSUME_PRIM_EVENTSファンクションのイベント識別子のリストを指定します。



RLM$EVENTIDSオブジェクト・タイプ

RLM$EVENTIDSタイプは、VARCHAR2値の表として次のように定義されます。

構文

CREATE OR REPLACE TYPE RLM$EVENTIDS is table of VARCHAR2(38);

属性

なし

使用上の注意

次のコマンドは、RULEコンシューム・ポリシー用に構成されたルール・クラスのアクション・コールバック・プロシージャの本体を示しています。 ここでは、RLM$EVENTDIDSタイプを使用して、一致するルールに対するアクションを実行する前にイベントをコンシュームする方法を示します。

CREATE OR REPLACE PROCEDURE PromoAction (
      Flt        AddFlight,
      Flt_EvtId  ROWID,    --- rowid for the fligt primitive event
      Car        AddRentalCar,
      Car_EvtId  ROWID,
      rlm$rule   TravelPromotions%ROWTYPE) is
 evtcnsmd   NUMBER;
BEGIN
 evtcnsmd := dbms_rlmgr.consume_prim_events(
              rule_class   => 'TravelPromotions',
              event_idents => RLM$EVENTIDS(Flt_EvtId, Car_EvtId));

 IF (evtcnsmd = 1) THEN
   -- consume operation was successful; perform the action ---
   OfferPromotion (Flt.CustId, rlm$rule.PromoType, rlm$rule.OfferedBy);
 END IF;
END;
/