この章では、ルール、ルール・セットおよび評価コンテキストで使用するタイプについて説明します。
この章では、次の項目について説明します。
概要
セキュリティ・モデル
表257-1 ルール・タイプ
タイプ | 説明 |
---|---|
|
変数の属性の値を指定します。 |
|
属性値のリストを識別します。 |
|
表列の値を指定します。 |
|
列値のリストを識別します。 |
|
名前のリストを識別します。 |
|
名前/値ペアのリストを識別します。 |
|
名前/値ペアのリストとそのリストを操作するメソッドを含むオブジェクトを識別します。このオブジェクト・タイプを使用して、ルールに対するイベント・コンテキストとアクション・コンテキストを表します。 |
|
名前/値ペアを識別します。 |
|
評価によって検出されたルールを指定します。 |
|
評価によって検出されたルールのリストを識別します。 |
|
ルール評価コンテキストで使用する別名に対応する表を指定します。 |
|
ルール評価コンテキストで使用する表の別名のリストを識別します。 |
|
|
|
表値のリストを識別します。 |
|
ルール評価コンテキストで使用する変数のタイプを指定します。 |
|
ルール評価コンテキストで使用する変数とそのタイプのリストを識別します。 |
|
変数の値を指定します。 |
|
変数値のリストを識別します。 |
ルール・タイプは、オラクル社が提供する次のPL/SQLパッケージで使用します。
DBMS_RULE
DBMS_RULE_ADM
DBMS_RULE_ADM
パッケージは、ルール、ルール・セットおよび評価コンテキストを作成して管理するために使用でき、DBMS_RULE
パッケージは、ルールを評価するために使用できます。
Oracle Streamsを使用する場合は、ルールによって、取得プロセスで取得する変更、伝播で伝播するメッセージ、適用プロセスで適用するメッセージ、およびメッセージ・クライアントでデキューするメッセージが判断されます。次のOracle Streamsパッケージでルールが使用されます。
DBMS_APPLY_ADM
DBMS_CAPTURE_ADM
DBMS_PROPAGATION_ADM
DBMS_STREAMS
DBMS_STREAMS_ADM
DBMS_STREAMS_AUTH
関連項目: 『Oracle Streams概要および管理』 |
変数の属性の値を指定します。
注意: 変数名および属性名の中に特殊文字が含まれている場合は、二重引用符(")で囲みます。 |
表列の値を指定します。
注意: 列名の中に特殊文字が含まれている場合は、二重引用符(")で囲みます。 |
名前/値ペアのリストとそのリストを操作するメソッドを含むオブジェクトを識別します。このオブジェクト・タイプを使用して、ルール・セット評価に対するイベント・コンテキストとルールに対するアクション・コンテキストを表します。
名前/値ペアを名前/値ペアのリストに追加します。
注意: 名前の中に特殊文字が含まれている場合は、二重引用符(")で囲みます。 |
構文
MEMBER PROCEDURE ADD_PAIR( name IN VARCHAR2, value IN ANYDATA);
パラメータ
構文
MEMBER FUNCTION GET_ALL_NAMES() RETURN SYS.RE$NAME_ARRAY;
構文
MEMBER FUNCTION GET_VALUE( name IN VARCHAR2) RETURN ANYDATA;
パラメータ
構文
MEMBER PROCEDURE REMOVE_PAIR( name IN VARCHAR2);
パラメータ
ルール評価コンテキストで使用する別名に対応する表を指定します。指定する表名は、スキーマ・オブジェクトのネーミング規則に準拠する必要があります。
注意: 表名の中に特殊文字が含まれている場合は、二重引用符(")で囲みます。 |
関連項目: スキーマ・オブジェクトのネーミング規則については『Oracle Database SQL言語リファレンス』を参照してください。 |
ルール評価コンテキストで使用する変数のタイプを指定します。指定する変数名は、スキーマ・オブジェクトのネーミング規則に準拠する必要があります。
注意: 変数名の中に特殊文字が含まれている場合は、二重引用符(")で囲みます。 |
関連項目: スキーマ・オブジェクトのネーミング規則については『Oracle Database SQL言語リファレンス』を参照してください。 |
構文
TYPE SYS.RE$VARIABLE_TYPE ( variable_name VARCHAR2(32), variable_type VARCHAR2(4000), variable_value_function VARCHAR2(228), variable_method_function VARCHAR2(228));
属性
表257-12 RE$VARIABLE_TYPEの属性
属性 | 説明 |
---|---|
|
ルールで使用する変数名。 |
|
評価コンテキスト・スキーマで解決するタイプ。有効なOracleの組込みデータ・タイプ、ユーザー定義タイプまたはオラクル社が提供するタイプを指定できます。これらのタイプの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
|
暗黙的な変数に対して指定できる値ファンクション。シノニムも指定できます。ファンクション名は、評価コンテキスト・スキーマで解決されます。評価コンテキストを使用するルール・セット、または評価コンテキストを使用するルールを含むルール・セットの所有者にかわって実行されます。 詳細は、「使用上の注意」を参照してください。 |
|
メソッド起動の結果を戻す値関数を指定します。変数に対してメソッドを起動する単純なルールが多数ある場合は、この関数を指定すると評価を高速化できます。関数には、シノニムまたはリモート関数も指定できます。 ファンクション名は、評価コンテキスト・スキーマで解決されます。評価コンテキストを使用するルール・セット、または評価コンテキストを使用するルールを含むルール・セットの所有者にかわって実行されます。 詳細は、「使用上の注意」を参照してください。 |
使用上の注意
variable_value_function
パラメータおよびvariable_method_function
パラメータの両方で指定する関数は、次の形式になります。
schema_name.package_name.function_name@dblink
この形式のうち、schema_name
、package_name
および@dblink
の部分は省略できます。
たとえば、schema_name
がhr
、package_name
がvar_pac
、function_name
がfunc_value
、dblink
がdbs1.net
の場合は、次のように入力します。
hr.var_pac.func_value@dbs1.net
次の各項では、関数の署名について説明します。