36.1. 컨셉

내장 롤 토토 프로그램은 일반 프로그래밍 언어(이 경우 C)로 작성된 코드와 특별히 표시된 섹션의 롤 토토 명령으로 구성됩니다. 프로그램을 빌드하려면 소스 코드(*.pgc)은 먼저 Embedded 롤 토토 전처리기를 통과하여 일반 C 프로그램(*.c), 이후에는 C 컴파일러에서 처리할 수 있습니다. (컴파일 및 링크에 대한 자세한 내용은 참조PostgreSQL : 문서 : 14 : 36.10. 임베디드 SQL 토토 결과 처리.) 변환된 ECPG 애플리케이션은 Embedded 롤 토토 라이브러리(ecpglib)를 통해 libpq 라이브러리의 함수를 호출하고 일반 프런트엔드-백엔드 프로토콜을 사용하여 Postgre롤 토토 서버와 통신합니다.

내장됨롤 토토다른 처리 방법에 비해 장점이 있습니다롤 토토C 코드의 명령. 첫째, 변수와의 지루한 정보 전달을 처리합니다.C프로그램. 둘째, 빌드 시 구문의 정확성을 위해 프로그램의 롤 토토 코드를 검사합니다. 세 번째, 임베디드롤 토토C에서는에 지정됩니다.롤 토토표준이며 기타 여러 곳에서 지원됨롤 토토데이터베이스 시스템. 그만큼포스트그레롤 토토구현은 이 표준과 최대한 일치하도록 설계되었으며 일반적으로 임베디드 포팅이 가능합니다.롤 토토다른 롤 토토 데이터베이스용으로 작성된 프로그램Postgre롤 토토비교적 쉽게.

이미 언급한 바와 같이 임베디드용으로 작성된 프로그램롤 토토인터페이스는 데이터베이스 관련 작업을 수행하기 위해 특수 코드가 삽입된 일반 C 프로그램입니다. 이 특수 코드의 형식은 항상 다음과 같습니다.

EXEC 롤 토토 ...;

이 문은 구문적으로 C 문을 대신합니다. 특정 문에 따라 전역 수준이나 함수 내에 나타날 수 있습니다.

내장됨롤 토토문은 일반적인 대소문자 구분 규칙을 따릅니다롤 토토코드이며 C의 코드는 아닙니다. 또한 롤 토토 표준에 따라 중첩된 C 스타일 주석을 허용합니다. 그러나 프로그램의 C 부분은 중첩된 주석을 허용하지 않는 C 표준을 따릅니다. 임베디드롤 토토문도 마찬가지로 인용된 문자열과 식별자를 구문 분석하기 위해 C 규칙이 아닌 롤 토토 규칙을 사용합니다. (보다섹션 4.1.2.1그리고섹션 4.1.1각각. ECPG는 다음과 같이 가정합니다.standard_conforming_stringsis켜짐.) 물론 프로그램의 C 부분은 C 인용 규칙을 따릅니다.

다음 섹션에서는 모든 내장 롤 토토 문에 대해 설명합니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.