| Postgre젠 토토 9.2.24 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.2 : 데이터베이스 스포츠 토토 베트맨 관리 | 토토 꽁 머니 : 문서 : 9.2 : ECPG- C에 포함 된 SQL | 33장.ECPG- 삽입됨젠 토토C에서 | 다음 | |
임베디드 젠 토토 내에서 모든 젠 토토 명령을 실행할 수 있습니다. 신청. 다음은 이를 수행하는 방법에 대한 몇 가지 예입니다.
테이블 생성:
EXEC 젠 토토 CREATE TABLE foo(숫자 정수, ASCII 문자(16)); EXEC 젠 토토 CREATE UNIQUE INDEX num1 ON foo(숫자); EXEC 젠 토토 커밋;
행 삽입 중:
EXEC 젠 토토 INSERT INTO foo(숫자, ascii) VALUES(9999, 'doodad'); EXEC 젠 토토 커밋;
행 삭제 중:
EXEC 젠 토토 DELETE FROM foo WHERE 번호 = 9999; EXEC 젠 토토 커밋;
업데이트:
EXEC 젠 토토 업데이트 foo
SET ascii = 'foobar'
어디에서 숫자 = 9999;
EXEC 젠 토토 커밋;
선택다음을 반환하는 문 단일 결과 행은 다음을 사용하여 실행할 수도 있습니다.EXEC 젠 토토직접. 결과 세트를 처리하려면 행이 여러 개인 경우 애플리케이션은 커서를 사용해야 합니다. 참조섹션 33.3.2아래. ( 특별한 경우, 애플리케이션은 한 번에 여러 행을 가져올 수 있습니다. 배열 호스트 변수로; 참조섹션 33.4.4.3.1.)
단일 행 선택:
EXEC 젠 토토 SELECT foo INTO :FooBar FROM table1 WHERE ascii = 'doodad';
또한 다음을 사용하여 구성 매개변수를 검색할 수 있습니다.쇼명령:
EXEC 젠 토토 SHOW search_path INTO :var;
양식의 토큰:뭔가아르호스트 변수, 즉, 다음을 참조합니다. C 프로그램의 변수 이에 대한 설명은섹션 33.4.
여러 행을 포함하는 결과 세트를 검색하려면, 애플리케이션은 커서를 선언하고 커서. 커서를 사용하는 단계는 다음과 같습니다. 커서를 열고, 커서에서 행을 가져오고, 반복하고, 드디어 닫아요.
커서를 사용하여 선택:
EXEC 젠 토토 DECLARE foo_bar CURSOR FOR
번호 선택, foo에서 ASCII
ASCII로 주문;
EXEC 젠 토토 OPEN foo_bar;
EXEC 젠 토토 FETCH foo_bar INTO :FooBar, DooDad;
...
EXEC 젠 토토 CLOSE foo_bar;
EXEC 젠 토토 커밋;
커서 선언에 대한 자세한 내용은 참조PostgreSQL : 문서 : 9.2 : 스포츠 토토 사이트그리고 보세요가져오기for가져오기명령 세부정보.
참고:ECPG선언명령은 실제로 명령문이 다음으로 전송되도록 하지 않습니다. Postgre젠 토토 백엔드. 커서가 백엔드에서 열립니다. (백엔드 사용선언명령)을 실행하는 시점에열기명령이 실행되었습니다.
기본 모드에서는 다음 경우에만 명령문이 커밋됩니다.EXEC 젠 토토 커밋발행되었습니다. 는 Embedded 젠 토토 인터페이스는 트랜잭션 자동 커밋도 지원합니다. (비슷하다libpq행동) 를 통해-t명령줄 옵션ecpg(참조ecpg) 또는 를 통해EXEC 젠 토토 자동 커밋을 ON으로 설정문장. 자동 커밋 모드에서는 각 명령이 자동으로 명시적인 트랜잭션 블록 내에 있지 않는 한 커밋됩니다. 이 모드는 다음을 사용하여 명시적으로 끌 수 있습니다.EXEC 젠 토토 자동 커밋을 OFF로 설정.
다음 트랜잭션 관리 명령은 다음과 같습니다. 사용 가능:
진행 중인 트랜잭션을 커밋합니다.
진행 중인 트랜잭션을 롤백합니다.
자동 커밋 모드를 활성화합니다.
자동 커밋 모드를 비활성화합니다. 이것이 기본값입니다.
젠 토토 문에 전달할 값이 다음과 같지 않은 경우 컴파일 타임에 알려지거나 동일한 명령문이 여러 번 사용된 경우 준비된 진술이 유용할 수 있습니다.
명령문은 다음 명령을 사용하여 준비되었습니다.준비. 아직 알려지지 않은 값에 대해서는 자리표시자 사용"?":
EXEC 젠 토토 PREPARE stmt1 FROM "SELECT oid, datname FROM pg_database WHERE oid = ?";
문이 단일 행을 반환하는 경우 응용 프로그램은 다음을 수행할 수 있습니다. 전화실행이후준비문을 실행하려면 가 포함된 자리 표시자의 실제 값사용 중절:
EXEC 젠 토토 EXECUTE stmt1 INTO :dboid, :dbname USING 1;
문이 여러 행을 반환하는 경우 응용 프로그램은 다음을 수행할 수 있습니다. 준비된 명령문을 기반으로 선언된 커서를 사용하십시오. 바인딩하려면 입력 매개변수를 사용하려면 커서를 열어야 합니다.사용 중절:
EXEC 젠 토토 PREPARE stmt1 FROM "SELECT oid,datname FROM pg_database WHERE oid ?";
EXEC 젠 토토 DECLARE foo_bar CURSOR FOR stmt1;
/* 결과 집합의 끝에 도달하면 while 루프에서 빠져나옵니다 */
EXEC 젠 토토을 찾을 수 없을 때 중단하십시오.
EXEC 젠 토토 OPEN foo_bar USING 100;
...
동안 (1)
EXEC 젠 토토 FETCH NEXT FROM FROM INTO :dboid, :dbname;
...
준비된 명령문이 더 이상 필요하지 않으면 할당을 취소해야 합니다.
EXEC 젠 토토 DEALLOCATE PREPARE이름;
자세한 내용은준비, 참조PostgreSQL : 문서 : 9.2 : 스포츠 토토 사이트. 또한 참조하세요섹션 33.5자세한 내용은 다음과 같습니다. 자리 표시자와 입력 매개변수를 사용합니다.