34.3. 스포츠 토토 베트맨 명령 실행#

모든 스포츠 토토 베트맨 명령은 Embedded 스포츠 토토 베트맨 애플리케이션 내에서 실행될 수 있습니다. 다음은 이를 수행하는 방법에 대한 몇 가지 예입니다.

34.3.1. 스포츠 토토 베트맨 문 실행#

테이블 생성 중:

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 스포츠 토토 베트맨직접. 여러 행이 포함된 결과 집합을 처리하려면 애플리케이션에서 커서를 사용해야 합니다. 보다섹션 34.3.2아래. (특별한 경우로 애플리케이션은 한 번에 여러 행을 배열 호스트 변수로 가져올 수 있습니다. 참조섹션 34.4.4.3.1.)

단일 행 선택:

EXEC 스포츠 토토 베트맨 SELECT foo INTO :FooBar FROM table1 WHERE ascii = 'doodad';

또한 다음을 사용하여 구성 매개변수를 검색할 수 있습니다.표시명령:

EXEC 스포츠 토토 베트맨 SHOW search_path INTO :var;

양식의 토큰:뭔가아르호스트 변수, 즉 C 프로그램의 변수를 참조합니다. 이에 대한 설명은PostgreSQL : 문서 : 17 : 34.4. 호스트 롤 토토 사용.

34.3.2. 커서 사용#

여러 행을 포함하는 결과 세트를 검색하려면 응용프로그램이 커서를 선언하고 커서에서 각 행을 가져와야 합니다. 커서를 사용하는 단계는 커서를 선언하고, 열고, 커서에서 행을 가져오고, 반복하고, 마지막으로 닫는 것입니다.

커서를 사용하여 선택:

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 : 문서 : 17 : 토토 꽁 머니; 커서에서 행을 가져오는 방법에 대한 자세한 내용은 다음을 참조하세요.가져오기.

참고

ECPG선언명령은 실제로 명령문이 Postgre스포츠 토토 베트맨 백엔드로 전송되도록 하지 않습니다. 커서가 백엔드에서 열립니다(백엔드의선언명령)을 실행하는 시점에열기명령이 실행되었습니다.

34.3.3. 거래 관리#

기본 모드에서 명령문은 다음 경우에만 커밋됩니다.EXEC 스포츠 토토 베트맨 커밋발행되었습니다. Embedded 스포츠 토토 베트맨 인터페이스는 트랜잭션의 자동 커밋도 지원합니다(p스포츠 토토 베트맨의 기본 동작)을 통해-t명령줄 옵션ecpg(참조ecpg) 또는 다음을 통해EXEC 스포츠 토토 베트맨 자동 커밋을 ON으로 설정성명. 자동 커밋 모드에서는 각 명령이 명시적인 트랜잭션 블록 내에 있지 않는 한 자동으로 커밋됩니다. 이 모드는 다음을 사용하여 명시적으로 끌 수 있습니다.EXEC 스포츠 토토 베트맨 자동 커밋을 OFF로 설정.

다음 트랜잭션 관리 명령을 사용할 수 있습니다:

EXEC 스포츠 토토 베트맨 커밋 #

진행 중인 트랜잭션을 커밋합니다.

EXEC 스포츠 토토 베트맨 롤백 #

진행 중인 트랜잭션을 롤백합니다.

EXEC 스포츠 토토 베트맨 트랜잭션 준비 transaction_id #

2단계 커밋을 위해 현재 트랜잭션을 준비합니다.

EXEC 스포츠 토토 베트맨 커밋 준비됨 transaction_id #

준비된 상태의 트랜잭션을 커밋합니다.

EXEC 스포츠 토토 베트맨 롤백 준비됨 transaction_id #

준비된 상태의 트랜잭션을 롤백합니다.

EXEC 스포츠 토토 베트맨 자동 커밋을 ON으로 설정 #

자동 커밋 모드를 활성화합니다.

EXEC 스포츠 토토 베트맨 자동 커밋을 꺼짐으로 설정 #

자동 커밋 모드를 비활성화합니다. 이것이 기본값입니다.

34.3.4. 준비된 진술#

스포츠 토토 베트맨 문에 전달될 값을 컴파일 타임에 알 수 없거나 동일한 문이 여러 번 사용되는 경우 준비된 문이 유용할 수 있습니다.

명령문은 다음 명령을 사용하여 준비되었습니다.준비. 아직 알려지지 않은 값의 경우 자리표시자를 사용하세요.?:

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 : 문서 : 17 : 스포츠 토토 베트맨. 또한 참조하세요Postgre토토 결과 : 문서 : 17 : 34.5. 동적 토토 결과자리표시자 및 입력 매개변수 사용에 대한 자세한 내용을 확인하세요.

수정사항 제출

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