| Postgre윈 토토 9.3.25 문서 | ||||
|---|---|---|---|---|
| Postgre롤 토토 : 문서 : 9.3 : 호스트 변수 사용 | 젠 토토 : 문서 : 9.3 : ECPG- C에 포함 된 SQL | 33장.ECPG- 임베디드윈 토토C에서 | 다음 | |
많은 경우에 응용 프로그램이 수행하는 특정 윈 토토 문은 실행해야 하는 사항은 애플리케이션이 작성되는 시점에 알려져 있습니다. 에서 그러나 어떤 경우에는 윈 토토 문이 런타임에 구성되거나 외부 소스에서 제공됩니다. 이러한 경우에는 다음을 삽입할 수 없습니다. 윈 토토 문을 C 소스 코드에 직접 입력하지만 임의의 윈 토토 문을 호출할 수 있는 기능 문자열 변수로 제공하세요.
임의의 윈 토토 문을 실행하는 가장 간단한 방법은 다음을 사용하는 것입니다. 명령즉시 실행. 에 대한 예:
EXEC 윈 토토 시작 선언 섹션; const char *stmt = "CREATE TABLE test1 (...);"; EXEC 윈 토토 END 선언 섹션; EXEC 윈 토토 실행 즉시 :stmt;
즉시 실행윈 토토에 사용할 수 있습니다. 결과 세트를 반환하지 않는 문(예: DDL,삽입, 업데이트, 삭제). 검색하는 문을 실행할 수 없습니다. 데이터(예:선택) 이쪽으로. 다음 섹션에서는 그 방법을 설명합니다.
임의의 윈 토토 문을 실행하는 더 강력한 방법은 다음과 같습니다. 한 번만 준비하고 준비된 문을 자주 실행하세요. 당신은 좋아합니다. 일반화된 버전을 준비하는 것도 가능합니다. 명령문을 대체하여 특정 버전을 실행합니다. 매개변수. 진술서를 작성할 때 물음표를 쓰세요 나중에 매개변수를 대체할 위치입니다. 예를 들면:
EXEC 윈 토토 시작 선언 섹션; const char *stmt = "test1 VALUES(?, ?)에 삽입;"; EXEC 윈 토토 END 선언 섹션; EXEC 윈 토토 준비 mystmt FROM :stmt; ... EXEC 윈 토토 EXECUTE mystmt USING 42, 'foobar';
준비된 명령문이 더 이상 필요하지 않으면 다음을 수행해야 합니다. 할당을 해제하세요:
EXEC 윈 토토 DEALLOCATE PREPARE이름;
단일 결과 행으로 윈 토토 문을 실행하려면,실행을 사용할 수 있습니다. 결과를 저장하려면를 추가하세요.INTO절.
EXEC 윈 토토 시작 선언 섹션; const char *stmt = "test1에서 a, b, c를 선택하세요. WHERE a ?"; int v1, v2; VARCHAR v3[50]; EXEC 윈 토토 END 선언 섹션; EXEC 윈 토토 준비 mystmt FROM :stmt; ... EXEC 윈 토토 EXECUTE mystmt INTO :v1, :v2, :v3 USING 37;
안실행명령은 다음을 가질 수 있습니다.INTO절, a사용 중절, 둘 다 또는 둘 다 아님.
쿼리가 하나 이상의 결과 행을 반환할 것으로 예상되는 경우, 다음 예와 같이 커서를 사용해야 합니다. (참조섹션 33.3.2더 보기 커서에 대한 자세한 내용입니다.)
EXEC 윈 토토 시작 선언 섹션;
char dbaname[128];
char 데이터이름[128];
char *stmt = "dbaname, d.datname으로 u.usename 선택"
" pg_database d, pg_user u "에서
" d.datdba = u.usesysid";
EXEC 윈 토토 END 선언 섹션;
EXEC 윈 토토 CONNECT TO testdb AS con1 USER testuser;
EXEC 윈 토토 SELECT pg_catalog.set_config('search_path', '', false); EXEC 윈 토토 커밋;
EXEC 윈 토토 준비 stmt1 FROM :stmt;
EXEC 윈 토토 DECLARE 커서1 CURSOR FOR stmt1;
EXEC 윈 토토 OPEN 커서1;
EXEC 윈 토토을 찾을 수 없을 때 중단하십시오.
동안 (1)
EXEC 윈 토토 FETCH 커서1 INTO :dbaname,:datname;
printf("dbaname=%s, datname=%s\n", dbaname, datname);
EXEC 윈 토토 CLOSE 커서1;
EXEC 윈 토토 커밋;
EXEC 윈 토토 모두 연결 해제;| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 호스트 변수 사용 | 젠 토토 : 문서 : 9.3 : ECPG- C에 포함 된 SQL | pgtypes 라이브러리 |