이 섹션을 설명하는 방법ECPG내부적으로 작동합니다. 사용자를 돕는 귀중한 정보가 포함되어 있습니다 사용 방법 이해ecpg.
처음 4 줄에 의해 작성되었습니다ECPG출력은 고정 라인입니다. 두 개는 의견이며 두 개는입니다 라이브러리 인터페이스에 필요한 줄 포함.
그런 다음 사전 처리기가 파일을 읽고 씁니다 산출. 일반적으로 그것은 모든 것을 출력에 반향합니다.
EXEC 스포츠 토토 사이트성명서, 개입하고 변경합니다. 그만큼exec 스포츠 토토 사이트진술은 다음 중 하나 일 수 있습니다 :
선언섹션이 시작됩니다 와 함께:
Exec 스포츠 토토 사이트 시작 선언 섹션;
끝 :
exec 스포츠 토토 사이트 종료 선언 섹션;
이 섹션에서는 변수 선언 만 있습니다 허용된. 이 섹션 내에서 선언 된 모든 변수는 다음과 같습니다 함께 이름으로 색인 된 변수 목록에 저장 해당 유형으로.
특히 구조 또는 노조의 정의 또한 a 내부에 나열되어 있어야합니다.선언섹션. 그렇지 않으면ECPG이후 이러한 유형을 처리 할 수 없습니다 정의를 모릅니다.
선언은 파일에 반향을 일으켜 그것을 만들기 위해 파일에 반향됩니다. 일반 C 변수.
특별 유형Varcharandvarchar2는 이름으로 변환됩니다 모든 변수에 대해 구조. 다음과 같은 선언 :
Varchar var [180];
|
Struct varchar_var int len; char arr [180]; var;
include 진술은 다음과 같습니다.
exec sql include filename;
이것은 다음과 같지 않습니다.
#include <filename.h
대신 지정된 파일은에 의해 구문 분석됩니다ECPG따라서 파일의 내용은입니다 결과 C 코드에 포함됩니다. 이런 식으로 당신은 할 수 있습니다 포함 파일에 EXEC 스포츠 토토 사이트 명령을 지정하려면
연결 문은 다음과 같습니다.
Exec 스포츠 토토 사이트 Connect연결 대상;
지정된 데이터베이스에 연결됩니다.
the연결 대상다음 방법으로 지정할 수 있습니다.
dbname [@server] [: port] [as연결 이름] [user사용자 이름]
tcp : postgre스포츠 토토 사이트 : // server [: port] [/dbname] [as연결 이름] [사용자사용자 이름]
unix : postgre스포츠 토토 사이트 : // server [: port] [/dbname] [as연결 이름] [user사용자 이름]
문자 변수[as연결 이름] [사용자사용자 이름]
캐릭터 문자열[as연결 이름] [사용자]
기본값
사용자
사용자를 지정하는 방법에는 여러 가지가 있습니다 이름:
userID
userID/비밀번호
userID식별비밀번호
userID사용비밀번호
마지막으로,userIDand비밀번호상수 텍스트, 문자 변수 또는 문자 끈.
연결 해제 명령문은 다음과 같습니다.
Exec 스포츠 토토 사이트 분리 [연결 대상];
지정된 연결을 닫습니다 데이터 베이스.
the연결 대상다음 방법으로 지정할 수 있습니다.
연결 이름
기본값
현재
all
열린 커서 문은 다음과 같습니다.
Exec 스포츠 토토 사이트 Open커서;
출력에 복사되지 않습니다. 대신, 커서의선언명령이 사용되기 때문에 사용됩니다 커서도 엽니 다.
커밋 진술은 다음과 같습니다.
Exec 스포츠 토토 사이트 Commit;
롤백 문장은 다음과 같습니다.
Exec 스포츠 토토 사이트 롤백;
기타스포츠 토토 사이트진술은 시작하여 사용됩니다Exec 스포츠 토토 사이트그리고 끝나는;. 그 사이의 모든 것은로 취급됩니다.스포츠 토토 사이트진술 및 가변 대체를 위해 구문 분석.
기호가 시작될 때 변수 대체가 발생합니다 결장 (:). 변수 그 이름은 이전에 A 내에서 선언 됨선언섹션. 여부에 따라 변수는 입력 또는 출력에 사용 중입니다. 변수는 액세스 할 수 있도록 출력입니다 기능.
의 일부인 모든 변수에 대해스포츠 토토 사이트쿼리, 함수는 다른 기능을 얻습니다 인수 :
특수 기호로 유형.
값 또는 포인터에 대한 포인터 바늘.
변수의 크기는입니다.char또는Varchar.
배열의 요소 수 (배열의 경우 가져 오기).
배열의 다음 요소로의 오프셋 (for 배열 가져 오기).
특별한 지표 변수의 유형 상징.
지표 변수의 값에 대한 포인터 또는 표시기의 포인터에 대한 포인터 변하기 쉬운.
0.
표시기 배열의 요소 수 (for 배열 가져 오기).
표시기의 다음 요소로의 오프셋 배열 (배열 가져 오기).
여기에 출력을 설명하는 완전한 예입니다. 파일의 전처리foo.pgc:
Exec 스포츠 토토 사이트 시작 선언 섹션; int index; int 결과; Exec 스포츠 토토 사이트 END DELLARE SECTION; ... exec sql res를 선택하십시오 : mytable에서 결과적으로 index = : index;
로 번역됩니다.
/ * ECPG에 의해 처리 됨 (2.6.0) */ / *이 두 포함 파일은 사전 처리기에 의해 추가됩니다 */ #include <ecpgtype.h; #include <ecpglib.h; / * EXEC 스포츠 토토 사이트 시작 선언 섹션 */ #line 1 "foo.pgc" int index; int 결과; / * EXEC 스포츠 토토 사이트 종료 선언 섹션 */ ... ecpgdo (__ line__, null, "mytable에서 reS를 선택하여 index =?", ecpgt_int, & (인덱스), 1l, 1l, sizeof (int), ecpgt_no_indicator, null, 0l, 0l, 0l, ecpgt_eoit, ecpgt_int, & (결과), 1l, 1l, sizeof (int), ecpgt_no_indicator, null, 0l, 0l, 0l, ecpgt_eort); #line 147 "foo.pgc"
(이 매뉴얼의 들여 쓰기는 가독성과 전처리자가하는 일이 아닙니다.)
라이브러리에서 가장 중요한 기능은입니다.ecpgdo
. 가변 수의 수가 필요합니다
논쟁. 바라건대 제한하는 컴퓨터가 없기를 바랍니다
a에 의해 받아 들일 수있는 변수 수varargs ()
함수. 이것은 쉽게 추가 할 수 있습니다
50 정도의 논쟁.
인수는 다음과 같습니다.
이것은 원래 줄의 줄 번호입니다. 사용 오류 메시지 만.
이것이스포츠 토토 사이트발행 될 쿼리. 입력에 의해 수정됩니다 변수, 즉 알지 못하는 변수 시간을 컴파일하지만 쿼리에 입력해야합니다. 어디 변수는 문자열이 포함되어야합니다?.
사전 처리기에 관한 섹션에 설명 된대로, 모든 입력 변수는 10 개의 인수를 얻습니다.
더 이상 입력이 없다고 말하는 열거 변수.
사전 처리기에 관한 섹션에 설명 된대로, 모든 입력 변수는 10 개의 인수를 얻습니다. 이 변수 함수에 의해 채워집니다.
더 이상 변수가 없다고 말하는 열거.
기본 모드에서 쿼리는 만 커밋됩니다.Exec 스포츠 토토 사이트 Commit발행.ECPG또한 자동 커밋을 지원합니다
를 통한 거래-t
명령 줄 옵션 또는를 통해EXEC 스포츠 토토 사이트 세트
autocommit on진술. 안에autocommit모드, 각 쿼리는 자동으로됩니다
명시 적 거래 블록 안에 있지 않는 한 커밋.
이 모드는를 사용하여 명시 적으로 꺼질 수 있습니다.Exec 스포츠 토토 사이트 Set autocommit to Off.