@DBFUNCTION
@DBFUNCTION è una funzione di conversione delle colonne introdotta in Oracle GoldenGate 26ai. Fornisce un mapping di colonne a una funzione di database che viene eseguita nel database durante l'esecuzione di un'operazione DML. Ciò è utile per le applicazioni che tengono traccia dell'indicatore orario del database, delle operazioni che richiedono tempi lunghi o dei caricamenti ETL in cui è necessario l'ora di applicazione dell'operazione DML all'interno del database. La funzione di database deve esistere all'interno del database e l'utente Replicat deve disporre dei privilegi per eseguirla. Per Oracle AI Database, questa funzione è disponibile per tutte le repliche. Per i database non Oracle, questa funzione è disponibile per Replicat in modalità classica, Replicat parallelo e Replicat coordinato.
Vedere anche Integrazione del database nativo con @DBFUNCTION
Limitazioni
-
La funzione di database utilizzata da
@DBFUNCTIONnon consente la colonna come argomenti. Tuttavia, sono supportati argomenti/constanti statici.Ad esempio, è supportato il seguente argomento:
TO_CHAR(SYSTIMESTAMP, 'SSSSS.FF')Se si desidera mappare questo argomento (
to_char) a@dbfunction, è possibile eseguire le operazioni riportate di seguito.col1 = @dbfunction('TO_CHAR(SYSTIMESTAMP, ''SSSSS.FF'')')Se la stringa mappata a
@dbfunctioncontiene virgolette singole ', deve essere scritta come '' per essere analizzata correttamente. -
Impossibile mappare
@DBFUNCTIONalle colonne chiave. -
@DBFUNCTIONnon può essere usato come argomento incluso all'interno:-
clausola
FILTERoWHERE -
SQLEXEC -
Altre funzioni di conversione delle colonne
-
Altro
@DBFUNCTION
-
Esempio
L'esempio seguente mostra l'uso di @DBFUNCTION per determinare l'indicatore orario del sistema per la tabella ORDERS.
MAP OE.ORDERS, TARGET OE.ORDERS, COLMAP (USEDEFAULTS, TS = @DBFUNCTION('SYSTIMESTAMP'))