プライマリ・コンテンツに移動
Oracle® GoldenGate Oracle GoldenGateリファレンスfor Windows and UNIX
12c (12.1.2)
E49845-08
  目次へ移動
目次

前
 
次
 

EVAL

@EVALファンクションでは、一連の独立したテストに基づいて値を選択します。テストできる条件数に制限はありません。ケース数が多い場合は、パフォーマンスを最適化するために最も頻繁に検出される条件を最初にリストします。

Oracle GoldenGateでは、このファンクションで、Unicode、およびMicrosoft Windows、UNIX、Linuxオペレーティング・システムのネイティブ・エンコーディングの文字列を格納する列内の文字を表すために、エスケープ・シーケンスの使用をサポートしています。引数がUnicodeで指定される場合、ターゲット列はSQL Unicodeデータ型である必要があります。

構文

@EVAL (condition, result
[condition, result] [, ....]
[, default_result])
condition

標準の条件演算子を使用する条件テスト。複数の条件を指定できます。

result

条件テストの結果に基づいて返される値または文字列。リテラルは一重引用符で囲みます。使用する条件ごとに結果を指定します。

default_result

どの条件も満たされなかったときに返されるデフォルトの結果。デフォルト結果はオプションです。

例1   

次の例では、AMOUNT列が10000より大きい場合に、結果high amountが返されます。AMOUNTが5000より大きく、かつ10000以下の場合(前の条件が満たされなかった場合)は、結果somewhat highが返されます。いずれの条件も満たさない場合、デフォルト結果が指定されていないため、COLUMN_MISSINGインジケーションが返されます。

AMOUNT_DESC = @EVAL (AMOUNT > 10000, 'high amount', AMOUNT > 5000, 'somewhat high')
例2   

次に、前述を変更した例を示します。同じ結果が返されますが、デフォルト値が指定されたため、AMOUNTが5000以下の場合には結果lowerが返されます。

@EVAL (AMOUNT > 10000, 'high amount', AMOUNT > 5000, 'somewhat high', 'lower')