Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX 12c (12.2.0.1) E70112-04 |
|
前 |
次 |
適用対象
ExtractおよびReplicat
説明
MACRO
パラメータでは、Oracle GoldenGateマクロを作成します。マクロの使用方法の詳細(マクロの正しい起動方法など)は、『Oracle GoldenGate Oracle GoldenGateの管理for Windows and UNIX』を参照してください。
デフォルト
なし
構文
次に示す順序で使用する必要があります。
MACRO#macro_name
PARAMS (#param_name
[, ...]) BEGIN macro_body END;
MACRO
マクロの指定を開始します。
#
マクロ文字。マクロおよびパラメータ名は、マクロ文字で開始する必要があります。パラメータ・ファイル内でマクロ文字で始まる要素はすべて、マクロまたはマクロ・パラメータとみなされます。
デフォルトのマクロ文字は、次の例に示すようにシャープ(#)文字です。
MACRO #macro1 PARAMS (#param1, #param2)
マクロ文字を変更するには、MACROCHAR
パラメータを使用します。
macro_name
マクロ名。マクロ名は、英数字を使用した1単語(アンダースコアは許可されます)である必要があり、大/小文字が区別されません。パラメータ・ファイル内の各マクロ名は、一意である必要があります。引用符は使用しないでください(使用すると、マクロ名はテキストとして扱われ、無視されます)。
PARAMS
パラメータ句を開始します。パラメータ句はオプションです。十分なメモリーが使用できる場合、パラメータの最大サイズおよび数の制限はありません。
param_name
マクロに対するパラメータを記述します。パラメータ名は大/小文字が区別されません。引用符は使用しないでください(使用すると、パラメータ名はテキストとして扱われ、無視されます)。
マクロで使用するすべてのパラメータは、PARAMS
文で宣言する必要があり、マクロを呼び出すときは、呼出し文に各パラメータの値が含まれている必要があります。
BEGIN
マクロ本文を開始します。マクロ本文の前に指定する必要があります。
macro_body
マクロ名本文。十分なメモリーが使用できる場合、マクロ本文のサイズの制限はありません。マクロ本文には、次のいずれかのタイプの文を含めることができます。
次のような単純なパラメータ文:
COL1 = COL2
次のような複雑な文:
COL1 = #val2
次のような他のマクロの呼出し:
#colmap(COL1, #sourcecol)
END;
マクロ定義を終了します。定義の末尾にはセミコロンが必要です。
例
次の例では、パラメータを取るマクロを定義します。
MACRO #make_date PARAMS (#year, #month, #day) BEGIN @DATE('YYYY-MM-DD', 'CC', @IF(#year < 50, 20, 19), 'YY', #year, 'MM', #month, 'DD', #day) END;
次の例では、パラメータを必要としないマクロを定義します。
MACRO #option_defaults BEGIN GETINSERTS GETUPDATES GETDELETES INSERTDELETES END;
次の例では、#make_date
という名前の他のマクロを呼び出す#assign_date
という名前のマクロを定義します。
MACRO #assign_date PARAMS (#target_col, #year, #month, #day) BEGIN #target_col = #make_date (#year, #month, #day) END;