SPI_execute다음을 실행합니다.
  다음에 대해 지정된 SQL 배트맨 토토개수행.
  만일읽기 전용is사실, 배트맨 토토은 읽기 전용이어야 하며 실행되어야 합니다.
  오버헤드가 다소 감소합니다.
이 함수는 연결된 기기에서만 호출할 수 있습니다. 절차.
만약개수0이면 배트맨 토토 적용되는 모든 행에 대해 실행됩니다. 만일개수이 0보다 크면 행 수가 배트맨 토토이 실행될 대상이 제한되어 있습니다(a한도절). 예를 들면:
SPI_execute("INSERT INTO foo SELECT * FROM bar", false, 5);
  테이블에 최대 5개의 행을 삽입할 수 있습니다.
하나의 문자열에 여러 배트맨 토토을 전달할 수 있지만 나중에
  배트맨 토토은 이전에 객체를 생성한 것에 의존할 수 없습니다.
  문자열(전체 문자열이 구문 분석되고 계획되기 때문)
  실행이 시작되기 전에.SPI_execute배트맨 토토에 대한 결과를 반환합니다.
  마지막으로 실행되었습니다.개수한도 적용
  각 배트맨 토토에 별도로 적용되지만 숨겨진 배트맨 토토에는 적용되지 않습니다.
  규칙에 의해 생성된 배트맨 토토입니다.
언제읽기 전용이다거짓, SPI_execute배트맨 토토 카운터를 증가시키고 새로운 것을 계산합니다스냅샷각 배트맨 토토을 실행하기 전에
  문자열. 현재 스냅샷은 실제로 변경되지 않습니다.
  트랜잭션 격리 수준은직렬화 가능하지만읽기
  커밋됨모드 스냅샷 업데이트를 통해 각 배트맨 토토은 다음을 수행할 수 있습니다.
  다른 곳에서 새로 커밋된 트랜잭션의 결과를 확인하세요.
  세션. 이는 다음과 같은 경우 일관된 행동을 위해 필수적입니다.
  배트맨 토토이 데이터베이스를 수정하고 있습니다.
언제읽기 전용is참, SPI_execute스냅샷이나 배트맨 토토 카운터를 업데이트하지 않으며,
  일반만 허용합니다.선택배트맨 토토을 내립니다.
  배트맨 토토 문자열에 나타납니다. 배트맨 토토은 다음을 사용하여 실행됩니다.
  주변 쿼리에 대해 이전에 설정된 스냅샷입니다. 이
  실행 모드는 읽기/쓰기 모드보다 다소 빠릅니다.
  배트맨 토토별 오버헤드를 제거합니다. 또한 진정으로 허용합니다안정적빌드할 함수: 이후
  연속적인 실행은 모두 동일한 스냅샷을 사용하게 됩니다.
  결과에 변화가 없을 것입니다.
읽기 전용과 읽기-쓰기를 혼합하는 것은 일반적으로 현명하지 않습니다. SPI를 사용하는 단일 기능 내의 배트맨 토토; 그로 인해 발생할 수 있는 매우 혼란스러운 동작입니다. 읽기 전용 쿼리는 그렇지 않기 때문입니다. 읽기-쓰기로 수행된 데이터베이스 업데이트 결과를 확인하세요. 쿼리.
(마지막) 배트맨 토토이 수행된 실제 행 수 실행된 내용은 전역 변수에 반환됩니다.SPI_처리됨. 함수의 반환값인 경우 이다SPI_OK_SELECT, SPI_OK_INSERT_RETURNING, SPI_OK_DELETE_RETURNING또는SPI_OK_UPDATE_RETURNING, 그러면 다음을 사용할 수 있습니다. 전역 포인터SPITuple테이블 *SPI_tuptable결과 행에 액세스합니다. 일부 유틸리티 배트맨 토토(예:설명)도 반환 행 세트 및SPI_tuptable포함됩니다 이 경우의 결과도 마찬가지입니다.
구조SPITupleTable이 다음과 같이 정의됩니다:
typedef 구조체
    MemoryContext tuptabcxt;    /* 결과 테이블의 메모리 컨텍스트 */
    uint32가 할당되었습니다.        /* 할당된 값의 수 */
    uint32 무료;           /* 사용 가능한 값의 수 */
    TupleDesc tupdesc;        /* 행 설명자 */
    HeapTuple *vals;           /* 행 */
 SPITupleTable;
  발스은 포인터 배열입니다. 행. (유효한 항목 수는 다음과 같습니다.SPI_처리됨.) tupdesc는 전달할 수 있는 행 설명자입니다. 행을 다루는 SPI 함수에.tuptabcxt, 할당됨및무료SPI 호출자가 사용하도록 의도되지 않은 내부 필드입니다.
SPI_finish모두 해제SPITupleTable14953_15085SPI_freetuptable.
배트맨 토토 실행이 성공했다면 다음 중 하나가 됩니다. 다음(음수가 아닌) 값이 반환됩니다.
if a선택(그러나 아님선택)가 실행되었습니다.
if a선택이었음 실행됨
만약삽입처형되었습니다
if a삭제처형되었습니다
만일업데이트처형되었습니다
만약반환 삽입이었음 실행됨
if a복귀 삭제이었음 실행됨
만약업데이트 반환 중이었음 실행됨
유틸리티 배트맨 토토인 경우(예:만들기 표)이 실행되었습니다.
배트맨 토토이 다른 종류의 배트맨 토토으로 재작성된 경우 배트맨 토토(예:업데이트이 되었다삽입) 작성자: a규칙.
오류 발생 시 다음 음수 값 중 하나는 다음과 같습니다. 반환됨:
if배트맨 토토isNULL또는개수이다 0 미만
if표준 출력으로 복사또는표준 입력에서 복사시도되었습니다
트랜잭션 조작 배트맨 토토이 시도된 경우 (시작, 커밋, 롤백, 세이브포인트, 거래 준비, 커밋 준비됨, 롤백 준비됨또는 모든 변형 그 중)
배트맨 토토 유형을 알 수 없는 경우(발생하지 않아야 함)
연결되지 않은 프로시저에서 호출된 경우