| Postgre범퍼카 토토 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 데이터베이스 토토 사이트 순위 관리 | 젠 토토 : 문서 : 9.3 : 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 프로그램의 변수를 참조합니다. 이에 대한 설명은Postgre롤 토토 : 문서 : 9.3 : 호스트 변수 사용.
여러 행을 포함하는 결과 세트를 검색하려면 애플리케이션 커서를 선언하고 커서에서 각 행을 가져와야 합니다. 는 커서를 사용하는 단계는 다음과 같습니다: 커서를 선언하고, 엽니다. 커서에서 행을 가져오고 반복한 후 마지막으로 닫습니다.
커서를 사용하여 선택:
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 범퍼카 토토 커밋;
커서 선언에 대한 자세한 내용은 참조선언그리고 보세요가져오기for가져오기명령 세부정보.
참고:ECPG선언명령 실제로 명령문이 Postgre범퍼카 토토로 전송되지는 않습니다. 백엔드. 커서가 백엔드에서 열립니다(백엔드의선언명령)을 실행하는 시점에열기명령이 실행됩니다.
기본 모드에서 명령문은 다음 경우에만 커밋됩니다.EXEC 범퍼카 토토 커밋발행되었습니다. 임베디드 범퍼카 토토 인터페이스는 트랜잭션의 자동 커밋도 지원합니다.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.3 : 토토 핫. 또한 참조하세요섹션 33.5사용에 대한 자세한 내용은 자리 표시자 및 입력 매개변수입니다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 데이터베이스 관리 연결 | 젠 토토 : 문서 : 9.3 : ECPG- C에 포함 된 SQL | 호스트 사용 중 변수 |