@COMPUTE

Verwenden Sie die Funktion @COMPUTE, um den Wert eines arithmetischen Ausdrucks an eine Zielspalte zurückzugeben. Der von der Funktion zurückgegebene Wert hat die Form einer Zeichenfolge.

Sie können die Phrase @COMPUTE weglassen, wenn Sie den Wert einer arithmetischen <expression> an eine andere Oracle GoldenGate-Funktion zurückgeben, wie in:

@STRNUM ((AMOUNT1 + AMOUNT2), LEFT)

Das vorhergehende Ergebnis wird wie folgt zurückgegeben:

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

Arithmetische Ausdrücke können Kombinationen der folgenden Elemente sein.

Syntax

@COMPUTE (<expression>)

<expression>

Ein gültiger arithmetischer Ausdruck. Der numerische Wert plus die Gesamtstellenzahl darf nicht mehr als 17 Stellen umfassen. Wenn dieser Grenzwert überschritten wird, gibt @COMPUTE eine Fehlermeldung wie die Folgende zurück.

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

Beispiele

Beispiel 1

AMOUNT_TOTAL = @COMPUTE (AMT + AMT2)

Beispiel 2

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

Beispiel 3

ANNUAL_SALARY = @COMPUTE (MONTHLY_SALARY * 12)

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

In diesem Beispiel wird veranschaulicht, wie Sie den verbleibenden SQL-Code erreichen. Stellen Sie sicher, dass die drei Zeichen ein Leerzeichen zwischen id \ 10 enthalten. Andernfalls wird es als Filtersyntaxfehler gemeldet.