@COMPUTE

Utilizzare la funzione @COMPUTE per restituire il valore di un'espressione aritmetica a una colonna di destinazione. Il valore restituito dalla funzione è sotto forma di stringa.

È possibile omettere la frase @COMPUTE quando si restituisce il valore di un <expression> aritmetico a un'altra funzione di Oracle GoldenGate, come descritto di seguito.

@STRNUM ((AMOUNT1 + AMOUNT2), LEFT)

Il precedente restituisce lo stesso risultato di:

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

Le espressioni aritmetiche possono essere combinazioni dei seguenti elementi.

Sintassi

@COMPUTE (<expression>)

<expression>

Espressione aritmetica valida. Il valore numerico più la precisione non può essere maggiore di 17 cifre. Se questo limite viene superato, @COMPUTE restituisce un errore simile al seguente.

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

Esempi

Esempio 1

AMOUNT_TOTAL = @COMPUTE (AMT + AMT2)

Esempio 2

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

Esempio 3

ANNUAL_SALARY = @COMPUTE (MONTHLY_SALARY * 12)

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

In questo esempio viene illustrato come ottenere l'istruzione SQL rimanente. Assicurarsi che vi sia uno spazio tra id \ 10 nei tre caratteri, altrimenti verrà segnalato come errore di sintassi del filtro.