Postgresql 9.1.24 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.1 : 토토 결과 처리 | 토토 : 문서 : 9.1 : ECPG- C에 포함 된 SQL | 제 33 장ECPG- 임베디드토토in c | 다음 |
방법을 수정하는 몇몇 사전 토토기 지침을 사용할 수 있습니다 그만큼ECPG사전 토토기 구문 분석 및 파일을 토토합니다.
내장 된 토토 프로그램에 외부 파일을 포함 시키려면 사용:
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 토토 포함하다명령은 일반 토토을 따릅니다 사례 감민 규칙.
지침과 유사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 내장 된 토토 프리 컴파일러가 이것을 볼 수 없습니다. 선언.
다음 지침을 사용하여 코드를 컴파일 할 수 있습니다 조건부 섹션 :
확인 a이름및 다음 선이 처리하는 경우이름Exec 토토 Define이름.
확인 a이름및 다음 선이 처리하는 경우이름hasnotExec 토토 Define이름.
섹션의 대체 섹션을 토토하기 시작합니다 어느 쪽이도 소개Exec 토토 IFDEF이름또는exec 토토 ifndef이름.
checks이름시작합니다 대체 섹션 인 경우이름Exec 토토 Define이름.
대체 섹션을 종료합니다.
예 :
Exec Sql ifndef tzvar; Exec 토토 Timezone을 'GMT'로 설정합니다. Exec 토토 Elif Tzname; Exec 토토 TIGNAME TIMEZONE를 설정합니다. Exec 토토 else; Exec 토토 시간대를 TZVAR로 설정합니다. Exec 토토 endif;