이 문서는 지원되지 않는 버전의 Postgre토토을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다Postgre토토 사이트 : 문서 : 17 : 34.9. 전처리 지침버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

33.9. 전토토 지침

방법을 수정하는 몇몇 사전 토토기 지침을 사용할 수 있습니다 그만큼ECPG사전 토토기 구문 분석 및 파일을 토토합니다.

33.9.1. 파일 포함

내장 된 토토 프로그램에 외부 파일을 포함 시키려면 사용:

Exec 토토 포함filename;
Exec 토토 포함 <filename;
exec 토토 포함 "filename";

내장 된 토토 사전 처리기는라는 파일을 찾습니다.filename.h, 사전 처리 및 결과 C 출력에 포함하십시오. 따라서 내장 된 토토 포함 된 파일의 명령문은 올바르게 처리됩니다.

theECPG사전 처리기가 검색합니다 다음 순서대로 여러 디렉토리로 파일 :

  • 현재 디렉토리

  • /usr/local/include

  • Postgre토토은 빌드 시간에 정의 된 디렉토리를 포함합니다 (예 :/usr/local/pg토토/include)

  • /usr/include

하지만 언제Exec 토토 포함 "filename"는 전류 만 사용됩니다 디렉토리가 검색되었습니다.

각 디렉토리에서 사전 토토기는 먼저 주어진 파일 이름, 찾을 수없는 경우 retend.h파일 이름으로 다시 시도하십시오 (그렇지 않은 한 지정된 파일 이름은 이미 해당 접미사를 가지고 있습니다).

참고Exec 토토 포함isnot동일 :

#include <filename.h

이 파일이 토토 명령에 적용되지 않기 때문에 전처리. 당연히 C를 계속 사용할 수 있습니다.#include다른 사람을 포함하는 지침 헤더 파일.

참고 :포함 파일 이름은 Case-insensitive, 나머지에도 불구하고Exec 토토 포함하다명령은 일반 토토을 따릅니다 사례 감민 규칙.

33.9.2. 정의 및 undef 지침

지침과 유사12524_12533C에서 알려진 내장 토토은 비슷한 개념을 가지고 있습니다.

Exec 토토 Define이름;
Exec 토토 Define이름 value;

따라서 이름을 정의 할 수 있습니다 :

exec 토토 define hAd_feature;

그리고 상수를 정의 할 수도 있습니다 :

Exec 토토 MyNumber 정의 12;
Exec 토토 MyString 'ABC'를 정의합니다.

useundef이전을 제거하려면 정의:

Exec 토토 Undef MyNumber;

물론 C 버전을 계속 사용할 수 있습니다#Defineand#undefin 내장 된 토토 프로그램. 차이점은 귀하가 정의한 곳입니다 값이 평가됩니다. 사용하는 경우Exec 토토 정의하다그런 다음ECPG사전 토토기 정의를 평가하고 값을 대체합니다. 예를 들어 당신이 쓰면 :

Exec 토토 MyNumber 정의 12;
...
Exec 토토 업데이트 TBL SET COL = MYNUMBER;

theECPG이미 할 것입니다 대체 및 귀하의 C 컴파일러는 어떤 이름이나 식별자MyNumber. 당신은 주목하십시오 사용할 수 없음#Define상수 이 때문에 내장 된 토토 쿼리에서 사용할 것입니다. CASE 내장 된 토토 프리 컴파일러가 이것을 볼 수 없습니다. 선언.

33.9.3. ifdef, ifndef, else, elif 및 endif 지침

다음 지침을 사용하여 코드를 컴파일 할 수 있습니다 조건부 섹션 :

Exec 토토 IFDEF이름;

확인 a이름및 다음 선이 처리하는 경우이름Exec 토토 Define이름.

Exec 토토 Ifndef이름;

확인 a이름및 다음 선이 처리하는 경우이름hasnotExec 토토 Define이름.

exec 토토 else;

섹션의 대체 섹션을 토토하기 시작합니다 어느 쪽이도 소개Exec 토토 IFDEF이름또는exec 토토 ifndef이름.

Exec 토토 Elif이름;

checks이름시작합니다 대체 섹션 인 경우이름Exec 토토 Define이름.

Exec 토토 endif;

대체 섹션을 종료합니다.

예 :

Exec Sql ifndef tzvar;
Exec 토토 Timezone을 'GMT'로 설정합니다.
Exec 토토 Elif Tzname;
Exec 토토 TIGNAME TIMEZONE를 설정합니다.
Exec 토토 else;
Exec 토토 시간대를 TZVAR로 설정합니다.
Exec 토토 endif;