Rules Manager is supplied with one predefined type and a public synonym for this type.
See Also:
Oracle Database Application Developer's Guide - Rules Manager and Expression Filter for more information.This chapter contains the following topics:
Table 196-1 describes the Rules Manager object type.
Table 196-1 Rules Manager Object Types
Object Type Name | Description |
---|---|
Specifies a list of event identifiers to the |
The RLM$EVENTIDS
type is defined as a table of VARCHAR2
values as follows:
CREATE OR REPLACE TYPE RLM$EVENTIDS is table of VARCHAR2(38);
None.
RLM$EVENTIDS
type is used to pass a list of event identifiers to the CONSUME_PRIM_EVENTS
procedure. These event identifiers are ROWID
s for the corresponding events in the database and their values are available through the arguments of the action callback procedure and rule class results view columns, when the rule class is configured for RULE
consumption policy.
The following commands show the body of the action callback procedure for a rule class configured for RULE
consumption policy. This demonstrates the use of RLM$EVENTDIDS
type to consume the events before executing the action for the matched rules.
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;