@COMPUTE

使用 @COMPUTE 函數可將算術表示式的值傳回目標資料欄。從函數傳回的值會以字串的形式呈現。

將算術 <expression> 的值傳回另一個 Oracle GoldenGate 函數時,您可以省略 @COMPUTE 片語,如下所示:

@STRNUM ((AMOUNT1 + AMOUNT2), LEFT)

先前的傳回結果與下列相同:

@STRNUM ((@COMPUTE (AMOUNT1 + AMOUNT2), LEFT)

算術表示式可以是下列元素的組合。

語法

@COMPUTE (<expression>)

<expression>

有效的算術運算式。數值加上小數位數不得大於 17 位數。如果超過此限制,@COMPUTE 會傳回類似以下的錯誤。

2013-08-01 01:54:22  ERROR   OGG-01334  Error mapping data from <column> to <column> in function COMPUTE.

範例

範例 1

AMOUNT_TOTAL = @COMPUTE (AMT + AMT2)

範例 2

AMOUNT_TOTAL = @IF (AMT >= 0, AMT * 100, 0)

範例 3

ANNUAL_SALARY = @COMPUTE (MONTHLY_SALARY * 12)

mod(id,10) = 1 MAP otest.tab,TARGET mtest.tab1,FILTER (@compute (id \ 10) = 1)

此範例說明如何達成其餘的 SQL。請確定 id \ 10 在三個字元之間有空格,否則將報告為篩選語法錯誤。