마크로
유효 기간
추출 및 복제
설명
MACRO 매개변수를 사용하여 Oracle GoldenGate 매크로를 생성합니다. 매크로를 올바르게 호출하는 방법을 비롯하여 매크로 사용에 대한 자세한 내용은 매크로 사용을 참조하십시오.
기본값
없음
구문
다음은 표시된 순서대로 사용해야 합니다.
MACRO *#<macro_name>*
PARAMS (*#<param_name>* [, ...])
BEGIN
<macro_body>
END;
MACRO
매크로 사양을 시작합니다.
<#>
매크로 문자입니다. 매크로 및 매개변수 이름은 매크로 문자로 시작해야 합니다. 매크로 문자로 시작하는 매개변수 파일의 모든 항목은 매크로 또는 매크로 매개변수로 간주됩니다.
다음 예에서와 같이 기본 매크로 문자는 파운드(#) 문자입니다.
MACRO #macro1
PARAMS (#param1, #param2)
MACROCHAR 매개변수를 사용하여 매크로 문자를 변경할 수 있습니다.
<macro_name>
매크로의 이름입니다. 매크로 이름은 영숫자(밑줄이 허용됨)가 포함된 한 단어여야 하며 대소문자를 구분하지 않습니다. 매개변수 파일의 각 매크로 이름은 고유해야 합니다. 따옴표를 사용하지 마십시오. 그렇지 않으면 매크로 이름이 텍스트로 처리되고 무시됩니다.
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;