主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX
12c (12.2.0.1)
E70112-04
目次へ移動
目次

前
次

3.105 MACRO

適用対象

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;

マクロ定義を終了します。定義の末尾にはセミコロンが必要です。

例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;