マクロの定義
Oracle GoldenGateマクロを定義するには、パラメータ・ファイルでMACRO
パラメータを使用します。MACRO
では、必要な入力パラメータを定義し、マクロにより実行する処理を定義します。
構文
MACRO #macro_name
PARAMS (#p1
, #p2
[, ...])
BEGIN
macro_body
END;
表11-18 マクロ定義の引数
引数 | 説明 |
---|---|
|
必須。Oracle GoldenGateマクロ定義の開始を指定します。 |
|
マクロ名。マクロおよびパラメータ名は、マクロ文字で開始する必要があります。デフォルトのマクロ文字は、番号記号(#)です( マクロまたはパラメータ名は、文字や数字(あるいはその両方)を含む1語にできます。アンダースコア文字( 解析エラーを回避するため、マクロ名の最初の文字としてマクロ文字を使用することはできません。たとえば、 マクロ名とパラメータ名では、大/小文字は区別されません。引用符内のマクロ名またはパラメータ名は、無視されます。 |
PARAMS (# |
入力パラメータのオプション定義。パラメータ名のカンマ区切りリストを指定して、カッコで囲みます。入力値を置換するマクロ本体で、各パラメータを参照する必要があります。各パラメータを個別の行にリストすると読みやすくなります(必ず開きカッコと閉じカッコを使用してパラメータ・リストを囲んでください)。詳細は、「パラメータを含むマクロの呼出し」を参照してください。 |
BEGIN |
マクロ本文を開始します。マクロ本文の前に指定する必要があります。 |
|
マクロ本体。本体は、マクロにより実行される関数を定義する構文の文です。マクロ本体には、次のタイプの文を含めることができます。
|
|
マクロ定義を終了します。定義の末尾にはセミコロンが必要です。 |
パラメータを含むマクロ定義の例を次に示します。この場合、マクロでは、所有者、表およびKEYCOLS
列の名前に解決される入力パラメータを含むMAP
文のベース構文を提供することによって、オブジェクトおよび列のマッピングのタスクを簡略化します。
MACRO #macro1
PARAMS ( #o, #t, #k )
BEGIN
MAP #o.#t, TARGET #o.#t, KEYCOLS (#k), COLMAP (USEDEFAULTS);
END;
パラメータを定義していないマクロの例を次に示します。頻繁に使用するパラメータのセットを実行します。
MACRO #option_defaults
BEGIN
GETINSERTS
GETUPDATES
GETDELETES
INSERTDELETES
END;