ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
Purpose
This package contains subprograms that support
the evaluation of rule sets
Evaluates the rules in the specified rule set that use the evaluation context specified
Overload 1
dbms_rule.evaluate(
rule_set_name IN VARCHAR2,
evaluation_context IN VARCHAR2,
event_context IN sys.re$nv_list := NULL,
table_values IN sys.re$table_value_list := NULL,
column_values IN sys.re$column_value_list := NULL,
variable_values IN sys.re$variable_value_list := NULL,
attribute_values IN sys.re$attribute_value_list := NULL,
stop_on_first_hit IN BOOLEAN := FALSE,
simple_rules_only IN BOOLEAN := FALSE,
result_cache IN BOOLEAN := TRUE,
true_rules OUT sys.re$rule_hit_list,
maybe_rules OUT sys.re$rule_hit_list);
TBD
Overload 2
dbms_rule.evaluate(
rule_set_name IN VARCHAR2,
evaluation_context IN VARCHAR2,
event_context IN sys.re$nv_list := NULL,
table_values IN sys.re$table_value_list := NULL,
column_values IN sys.re$column_value_list := NULL,
variable_values IN sys.re$variable_value_list := NULL,
attribute_values IN sys.re$attribute_value_list := NULL,
simple_rules_only IN BOOLEAN := FALSE,
true_rules_iterator OUT BINARY_INTEGER,
maybe_rules_iterator OUT BINARY_INTEGER);
Evaluates an expression under the logged in user in a session
dbms_rule.evaluate_expression(
rule_expression IN VARCHAR2,
table_aliases IN sys.re$table_alias_list := NULL,
variable_types IN sys.re$variable_type_list := NULL,
table_values IN sys.re$table_value_list := NULL,
column_values IN sys.re$column_value_list := NULL,
variable_values IN sys.re$variable_value_list := NULL,
attribute_values IN sys.re$attribute_value_list := NULL,
cache IN BOOLEAN := FALSE,
result_val OUT BOOLEAN);
Returns the next rule that evaluated to TRUE from a true rules iterator, or returns the next rule that evaluated to MAYBE from a maybe rules iterator
dbms_rule.get_next_hit(iterator IN BINARY_INTEGER) RETURN sys.re$rule_hit;
SELECT dbms_rule.get_next_hit(1)
FROM dual;
SELECT dbms_rule.get_next_hit(0)
*
ERROR at line 1:
ORA-25453: invalid iterator: 1
ORA-06512: at "SYS.DBMS_RULE", line 108
Returns TRUE if the expression can be evaluated quickly
dbms_rule.is_fast(
expression IN VARCHAR2,
table_aliases IN sys.re$table_alias_list := NULL,
variable_types IN sys.re$variable_type_list := NULL,
result_val OUT BOOLEAN);