PL/SQL Packages and Types Reference 10g Release 1 (10.1) Part Number B10802-01 |
|
|
View PDF |
This chapter describes the types used with rules, rule sets, and evaluation contexts.
This chapter contains the following topic:
Rule types are used with the following Oracle-supplied PL/SQL packages:
You can use the DBMS_RULE_ADM
package to create and administer rules, rule sets, and evaluation contexts, and you can use the DBMS_RULE
package to evaluate rules.
When you use Streams, rules determine which changes are captured by a capture process, which events are propagated by a propagation, which events are applied by an apply process, and which events are dequeued by a messaging client. The following Streams packages use rules:
DBMS_APPLY_ADM
DBMS_CAPTURE_ADM
DBMS_PROPAGATION_ADM
DBMS_STREAMS
DBMS_STREAMS_ADM
DBMS_STREAMS_AUTH
Specifies the value of a variable attribute.
Note: The variable name and attribute name may be enclosed in double quotation marks (") if the name contains special characters. |
TYPE SYS.RE$ATTRIBUTE_VALUE ( variable_name VARCHAR2(32), attribute_name VARCHAR2(4000), attribute_value SYS.AnyData);
Identifies a list of attribute values.
TYPE SYS.RE$ATTRIBUTE_VALUE_LIST AS VARRAY(1024) OF SYS.RE$ATTRIBUTE_VALUE;
Specifies the value of a table column.
Note: The column name may be enclosed in double quotation marks (") if the name contains special characters. |
TYPE SYS.RE$COLUMN_VALUE ( table_alias VARCHAR2(32), column_name VARCHAR2(4000), column_value SYS.AnyData);
Attribute | Description |
---|---|
|
Specifies the alias used for the table in a rule |
|
Specifies the column name |
|
Specifies the column value |
Identifies a list of column values.
TYPE SYS.RE$COLUMN_VALUE_LIST AS VARRAY(1024) OF SYS.RE$COLUMN_VALUE;
Identifies a list of names.
TYPE SYS.RE$NAME_ARRAY AS VARRAY(1024) OF VARCHAR2(30);
Identifies a list of name-value pairs.
TYPE SYS.RE$NV_ARRAY AS VARRAY(1024) OF SYS.RE$NV_NODE;
Identifies an object containing a list of name-value pairs and methods that operate on this list. This object type is used to represent the event context for rule set evaluation and the action context for a rule.
TYPE SYS.RE$NV_LIST AS OBJECT( actx_list SYS.RE$NV_ARRAY);
Attribute | Description |
---|---|
|
The list of name-value pairs |
This section describes the following member procedures and member functions of the SYS.RE$NV_LIST
type:
Adds a name-value pair to the list of name-value pairs.
Note: The name may be enclosed in double quotation marks (") if the name contains special characters. |
MEMBER PROCEDURE ADD_PAIR( name IN VARCHAR2, value IN SYS.AnyData);
Returns a list of all the names in the name-value pair list.
Returns the value for the specified name in a name-value pair list.
Note: The name may be enclosed in double quotation marks (") if the name contains special characters. |
MEMBER FUNCTION GET_VALUE( name IN VARCHAR2) RETURN SYS.AnyData;
Parameter | Description |
---|---|
|
The name whose value to return |
Removes the name-value pair with the specified name from the name-value pair list.
Note: The name may be enclosed in double quotation marks (") if the name contains special characters. |
MEMBER PROCEDURE REMOVE_PAIR( name IN VARCHAR2);
Parameter | Description |
---|---|
|
The name of the pair to remove |
Identifies a name-value pair.
Note: The name may be enclosed in double quotation marks (") if the name contains special characters. |
TYPE SYS.RE$NV_NODE ( nvn_name VARCHAR2(30), nvn_value SYS.AnyData);
Attribute | Description |
---|---|
|
Specifies the name in the name-value pair |
|
Specifies the value in the name-value pair |
Specifies a rule found as a result of an evaluation.
TYPE SYS.RE$RULE_HIT ( rule_name VARCHAR2(65), rule_action_context RE$NV_LIST);
Identifies a list of rules found as a result of an evaluation.
TYPE SYS.RE$RULE_HIT_LIST AS VARRAY(1024) OF SYS.RE$RULE_HIT;
Provides the table corresponding to an alias used in a rule evaluation context. A specified table name must satisfy the schema object naming rules.
Note: The table name may be enclosed in double quotation marks (") if the name contains special characters. |
See Also:
Oracle Database SQL Reference for information about schema object naming rules |
TYPE SYS.RE$TABLE_ALIAS IS OBJECT( table_alias VARCHAR2(32), table_name VARCHAR2(194));
Identifies a list of table aliases used in a rule evaluation context.
TYPE SYS.RE$TABLE_ALIAS_LIST AS VARRAY(1024) OF SYS.RE$TABLE_ALIAS;
Specifies the value of a table row using a ROWID
.
TYPE SYS.RE$TABLE_VALUE( table_alias VARCHAR2(32), table_rowid VARCHAR2(18));
Attribute | Description |
---|---|
|
Specifies the alias used for the table in a rule |
|
Specifies the rowid for the table row |
Identifies a list of table values.
TYPE SYS.RE$TABLE_VALUE_LIST AS VARRAY(1024) OF SYS.RE$TABLE_VALUE;
Provides the type of a variable used in a rule evaluation context. A specified variable name must satisfy the schema object naming rules.
Note: The variable name may be enclosed in double quotation marks (") if the name contains special characters. |
See Also:
Oracle Database SQL Reference for information about schema object naming rules |
TYPE SYS.RE$VARIABLE_TYPE ( variable_name VARCHAR2(32), variable_type VARCHAR2(4000), variable_value_function VARCHAR2(228), variable_method_function VARCHAR2(228));
Attribute | Description |
---|---|
|
The variable name used in a rule |
|
The type that is resolved in the evaluation context schema. Any valid Oracle built-in datatype, user-defined type, or Oracle-supplied type can be specified. See the Oracle Database SQL Reference for more information about these types. |
|
A value function that can be specified for implicit variables. A synonym can be specified. The function name is resolved in the evaluation context schema. It is executed on behalf of the owner of a rule set using the evaluation context or containing a rule that uses the evaluation context. See the "Usage Notes" for more information. |
|
Specifies a value function, which can return the result of a method invocation. Specifying such a function can speed up evaluation, if there are many simple rules that invoke the method on the variable. The function can be a synonym or a remote function. The function name is resolved in the evaluation context schema. It is executed on behalf of the owner of a rule set using the evaluation context or containing a rule that uses the evaluation context. See the "Usage Notes" for more information. |
The functions for both the for the variable_value_function
parameter and variable_method_function
parameter have the following format:
schema_name.package_name.function_name@dblink
Any of the following parts of the format may be omitted: schema_name
, package_name
, and @dblink
.
For example, if the schema_name
is hr
, the package_name
is var_pac
, the function_name
is func_value
, and the dblink
is dbs1.net
, then enter the following:
hr.var_pac.func_value@dbs1.net
The following sections describe the signature of the functions.
The function must have the following signature:
FUNCTION variable_value_function_name( evaluation_context_schema IN VARCHAR2, evaluation_context_name IN VARCHAR2, variable_name IN VARCHAR2, event_context IN SYS.RE$NV_LIST ) RETURN SYS.RE$VARIABLE_VALUE;
This function must have the following signature:
FUNCTION variable_method_function_name( evaluation_context_schema IN VARCHAR2, evaluation_context_name IN VARCHAR2, variable_value IN SYS.RE$VARIABLE_VALUE, method_name IN VARCHAR2, event_context IN SYS.RE$NV_LIST) RETURN SYS.RE$ATTRIBUTE_VALUE;
Identifies a list of variables and their types used in a rule evaluation context.
TYPE SYS.RE$VARIABLE_TYPE_LIST AS VARRAY(1024) OF SYS.RE$VARIABLE_TYPE;
Specifies the value of a variable.
Note: The variable name may be enclosed in double quotation marks (") if the name contains special characters. |
TYPE SYS.RE$VARIABLE_VALUE ( variable_name VARCHAR2(32), variable_data SYS.AnyData);
Attribute | Description |
---|---|
|
Specifies the variable name used in a rule |
|
Specifies the data for the variable value |
Identifies a list of variable values.
TYPE SYS.RE$VARIABLE_VALUE_LIST AS VARRAY(1024) OF SYS.RE$VARIABLE_VALUE;