マクロ
有効な対象
ExtractおよびReplicat
摘要
MACROパラメータでは、Oracle GoldenGateマクロを作成します。マクロの正しい起動方法を含む、マクロの使用方法の詳細は、マクロの使用を参照してください。
デフォルト
なし
構文
次に示す順序で使用する必要があります。
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;
マクロ定義を終了します。定義を完了するには、セミコロンが必要です。
例
例1
次の例では、パラメータを取るマクロを定義します。
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;
例2
次の例では、パラメータを必要としないマクロを定義します。
MACRO #option_defaults
BEGIN
GETINSERTS
GETUPDATES
GETDELETES
INSERTDELETES
END;
例3
次の例では、#make_dateという名前の他のマクロを呼び出す#assign_dateという名前のマクロを定義します。
MACRO #assign_date
PARAMS (#target_col, #year, #month, #day)
BEGIN
#target_col = #make_date (#year, #month, #day)
END;