マクロ

有効な対象

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;