9.2.4.6 操作ルール

操作ルールはトランザクション・ルールのサブルールまたは最上位ルール(トランザクションが操作のプロパティの場合)のいずれかです。

標準ルール・プロパティ以外に、操作ルールは、XPathまたは他の式を介して次のものも定義します。

  • timestamp - 操作のタイムスタンプ。トランザクション・ルールが定義されている場合、これはオプションです。

  • table - この操作の対象の表の名前。これをスキーマと組み合せて使用します。

  • schema - 表のスキーマの名前。

  • schemaandtable - SCHEMA.TABLEの形式のスキーマ名と表名の両方。これは、個々の表およびスキーマのプロパティのかわりに使用できます。

  • optype - optype値に基づいて、これが挿入、更新、削除のいずれの操作かを指定します。

    • optype.insertval - 挿入を表す値。デフォルトは、Iです。

    • optype.updateval - 更新を表す値。デフォルトは、Uです。

    • optype.deleteval - 削除を表す値。デフォルトは、Dです。

  • seqid - 操作の識別子。txidがトランザクション・レベルで定義されていない場合、これがトランザクション識別子になります。

  • txind - この操作がトランザクションの先頭か、中間か、末尾か、操作全体かを指定します。このプロパティはオプションで、操作ルールがトランザクション・ルールのサブルールの場合、無効です。

操作ルールは、操作タイプまたは列タイプの複数のサブルールを持つことができます。

次の例では、/Transaction/Operation要素から操作情報を動的に取得します。

例9-10 操作

dynoprule.match=./Operation
dynoprule.schemaandtable=@table
dynoprule.optype=@type

次の例は、/NewMyTableEntry要素をMY.TABLE表に対する挿入操作に静的に対応付けます。

例9-11 操作例

statoprule.match=./NewMyTableEntry
statoprule.schemaandtable="MY.TABLE"
statoprule.optype="I"
statoprule.timestamp=./CreateTime/text()