@DBFUNCTION
@DBFUNCTION es una función de conversión de columnas introducida en Oracle GoldenGate 26ai. Proporciona una asignación de columna a una función de base de datos que se ejecuta en la base de datos al ejecutar una operación DML. Esto resulta útil para las aplicaciones que realizan un seguimiento del registro de hora de la base de datos, las operaciones sensibles a la hora o las cargas de ETL donde se necesita la hora de aplicación de la operación DML en la base de datos. La función de base de datos debe existir en la base de datos y el usuario de Replicat debe tener privilegios para ejecutarla. Para Oracle AI Database, esta función está disponible para todos los Replicats. Para bases de datos que no son de Oracle, esta función está disponible para Replicat en modo clásico, Replicat paralelo y Replicat coordinado.
Consulte también Incrustación de bases de datos nativas con @DBFUNCTION
Limitaciones
-
La función de base de datos utilizada por
@DBFUNCTIONno permite la columna como argumentos. Sin embargo, se admiten argumentos/constantes estáticos.Por ejemplo, se admite el siguiente argumento:
TO_CHAR(SYSTIMESTAMP, 'SSSSS.FF')Si desea asignar este argumento (
to_char) a@dbfunction, se puede realizar de la siguiente manera:col1 = @dbfunction('TO_CHAR(SYSTIMESTAMP, ''SSSSS.FF'')')Si la cadena asignada a
@dbfunctioncontiene comillas simples ', se debe escribir como '' para que se analice correctamente. -
@DBFUNCTIONno se puede asignar a columnas de clave. -
@DBFUNCTIONno se puede utilizar como argumento, incluido dentro de:-
Cláusula
FILTERoWHERE -
SQLEXEC -
Otras funciones de conversión de columnas
-
Otra
@DBFUNCTION
-
Ejemplo
En el siguiente ejemplo se muestra el uso de @DBFUNCTION para determinar el registro de hora del sistema para la tabla ORDERS.
MAP OE.ORDERS, TARGET OE.ORDERS, COLMAP (USEDEFAULTS, TS = @DBFUNCTION('SYSTIMESTAMP'))