| 롤 토토 : 문서 : 9.5 : 롤 토토 9 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.5 : 데이터베이스 토토 핫 관리 | 토토 핫 : 문서 : 9.5 : ECPG- C에 포함 된 SQL | 33장.ECPG- 삽입됨무지개 토토C에서 | 다음 | 
모든 무지개 토토 명령은 Embedded 무지개 토토 애플리케이션 내에서 실행될 수 있습니다. 다음은 이를 수행하는 방법에 대한 몇 가지 예입니다.
테이블 생성:
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 프로그램의 변수를 참조합니다. 이에 대한 설명은PostgreSQL : 문서 : 9.5 : 호스트 토토 핫 사용.
여러 행을 포함하는 결과 세트를 검색하려면 애플리케이션이 커서를 선언하고 커서에서 각 행을 가져와야 합니다. 커서를 사용하는 단계는 커서를 선언하고, 열고, 커서에서 행을 가져오고, 반복하고, 마지막으로 닫는 것입니다.
커서를 사용하여 선택:
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.5 : 토토 커뮤니티그리고 보세요토토 사이트 순위 : 문서 : 9.5 : Fetchfor가져오기명령 세부정보.
참고:ECPG선언명령은 실제로 명령문이 Postgre무지개 토토 백엔드로 전송되도록 하지 않습니다. 커서가 백엔드에서 열립니다(백엔드의선언명령)을 실행하는 시점에열기명령이 실행되었습니다.
기본 모드에서 명령문은 다음 경우에만 커밋됩니다.EXEC 무지개 토토 커밋발행되었습니다. Embedded 무지개 토토 인터페이스는 트랜잭션의 자동 커밋도 지원합니다(p무지개 토토의 기본 동작)을 통해-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.5 : 토토 핫. 또한 참조하세요Postgre롤 토토 : 문서 : 9.5 : 동적 롤 토토자리 표시자 및 입력 매개변수 사용에 대한 자세한 내용을 확인하세요.