@DBFUNCTION
@DBFUNCTION 是 Oracle GoldenGate 26ai 中導入的欄轉換函數。它提供對資料庫函數的資料欄對應,可在執行 DML 作業時於資料庫內執行。在需要資料庫內 DML 作業的「套用時間」時,對於追蹤資料庫時戳、具時效性的作業或 ETL 載入的應用程式非常有用。資料庫功能必須存在於資料庫中,且 Replicat 使用者必須具有執行該功能的權限。對於 Oracle AI Database,此函數適用於所有 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'))