变量 - %VAR

在复制期间希望 CDC Replication 对条件表达式求值并返回不同结果时,可使用此函数。

语法

%VAR(variable_name, [expression])

参数

variable_name
指定所定义或检索到的变量的名称。
expression
指定字面值或复杂表达式。此参数是可选的。如果指定此参数,那么该函数会创建新变量、将给定的值分配给该变量并返回该变量的值。如果该变量已存在,那么该函数会将新值分配给该变量。
如果省略此参数,那么该函数会检索该变量的值,前提是在前面列中或先前在当前表达式中已定义(通过使用 %VAR 函数)该变量。
可在同一行中以列的升序顺序从列到列传递变量。但是,无法在行之间传递变量。

结果数据类型

分配给变量 (variable_name) 的数据的类型。

示例

%VAR(SBTTL, PRICE*QTY)

如果 PRICE 列中的值为 10,并且 QTY 列中的值为 5,那么此函数会将值 50 分配给变量 SBTTL 并返回值 50。%VAR(SBTTL) 如果 SBTTL 是在前面列的表达式或先前在当前表达式中定义的,那么此函数会返回变量 SBTTL 的当前值。

%IF(%VAR(QTY, QTYORD + QTYBACKORD) <100, %VAR(QTY) * PRICE, %VAR(QTY) * PRICE * (1- DISCOUNT))

将变量 QTY 设置为 QTYORD 加 QTYBACKORD。如果 QTY 小于 100,那么该表达式的结果为 QTY * PRICE。否则,该表达式的结果为 QTY * PRICE * (1 - DISCOUNT)。