@DBFUNCTION
@DBFUNCTIONは、Oracle GoldenGate 23aiで導入された列変換関数です。DML操作の実行時にデータベース内で実行されるデータベース関数への列マッピングを提供します。これは、データベース内のDML操作の適用時間が必要なデータベース・タイムスタンプ、時間が重視される操作またはETLロードを追跡するアプリケーションに役立ちます。データベース関数がデータベース内に存在する必要があり、Replicatユーザーにはそれを実行する権限が必要です。Oracleデータベースの場合、この関数はすべてのReplicatで使用できます。Oracle以外のデータベースの場合、この関数は、クラシック・モードのReplicat、パラレルReplicatおよび調整Replicatで使用できます。
制限事項
-
@DBFUNCTIONで使用されるデータベース関数は、列を引数として許可しません。ただし、静的引数/定数はサポートされています。たとえば、次の引数がサポートされています:TO_CHAR(SYSTIMESTAMP, 'SSSSS.FF')この引数(
to_char)を@dbfunctionにマップする場合は、次のように実行できます:col1 = @dbfunction('TO_CHAR(SYSTIMESTAMP, ''SSSSS.FF'')')@dbfunctionにマップされた文字列に一重引用符'が含まれている場合は、正しく解析されるように''として記述する必要があります。 -
@DBFUNCTIONはキー列にマップできません。 -
@DBFUNCTIONは、次を含む引数として使用できません:-
FILTERまたはWHERE句 -
SQLEXEC -
その他の列変換関数
-
別の
@DBFUNCTION
-
例
@DBFUNCTIONを使用して、ORDERS表のシステム・タイムスタンプを判別する方法を示しています。MAP OE.ORDERS, TARGET OE.ORDERS, COLMAP (USEDEFAULTS, TS = @DBFUNCTION('SYSTIMESTAMP'))