이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

토토 결과

이름

토토 결과 --  실행 계획을 생성합니다. (파서+플래너+옵티마이저) 쿼리를 실행합니다.

시놉시스

토토 결과(질의, tcount)

입력

문자 *질의

쿼리 계획이 포함된 문자열

inttcount

반환할 최대 튜플 수

출력

int
SPI_OK_EXEC만일 제대로 연결이 끊어졌습니다
SPI_ERROR_UNCONNECTED만일 연결되지 않은 프로시저에서 호출됨
SPI_ERROR_ARGUMENT쿼리가 다음과 같은 경우 NULL 또는tcount< 0.
SPI_ERROR_UNCONNECTED만일 절차가 연결되지 않았습니다.
SPI_ERROR_COPY표준 입력으로/에서 복사하는 경우.
SPI_ERROR_CURSOR만일 커서 선언/닫기, 가져오기.
SPI_ERROR_TRANSACTION만일 시작/중단/종료.
SPI_ERROR_OPUNKNOWN다음 유형인 경우 쿼리를 알 수 없습니다(이런 일이 발생해서는 안 됩니다).

귀하의 쿼리 실행이 성공했다면 다음 중 하나가 됩니다 다음(음수가 아닌) 값이 반환됩니다.

SPI_OK_UTILITY일부 유틸리티(예: CREATE TABLE ...)가 실행됨
SPI_OK_SELECTSELECT(SELECT ... INTO!는 아님)가 다음과 같은 경우 실행됨
SPI_OK_SELINTOSELECT ... INTO가 실행된 경우
SPI_OK_INSERTINSERT(또는 INSERT ... SELECT)가 실행된 경우
SPI_OK_DELETEDELETE가 실행된 경우
SPI_OK_UPDATE업데이트가 실행된 경우

설명

토토 결과실행 계획을 생성합니다 (파서+플래너+옵티마이저)에 대한 쿼리를 실행합니다.tcount튜플.

사용법

이것은 연결된 프로시저에서만 호출되어야 합니다. 만일tcount0이면 실행됩니다. 쿼리 스캔에서 반환된 모든 튜플에 대한 쿼리입니다. 사용tcount 0으로 제한할 수 있습니다. 쿼리가 실행될 튜플의 수입니다. 에 대한 예

토토 결과("테이블에서 *를 선택하여 테이블에 삽입", 5);
테이블에 최대 5개의 튜플을 삽입할 수 있습니다. 만약에 쿼리 실행이 성공한 후 음수가 아닌 값 반환됩니다.

참고:하나의 문자열에 여러 쿼리를 전달할 수도 있고 쿼리 문자열은 RULE에 의해 다시 작성될 수 있습니다.토토 결과마지막 결과를 반환합니다. 쿼리가 실행되었습니다.

(마지막) 쿼리에 대한 실제 튜플 수 실행된 것은 전역 변수 SPI_processed에 반환됩니다(그렇지 않은 경우SPI_OK_UTILITY). 만일SPI_OK_SELECT반환 및 SPI_processed 0이면 전역 포인터 SPITupleTable을 사용할 수 있습니다. *선택한 튜플에 액세스하기 위한 SPI_tuptable: 또한 참고하세요.SPI_finish모든 것을 해방하고 만든다 SPITupleTable을 사용할 수 없습니다! (메모리 관리를 참조하세요.)

토토 결과다음 중 하나를 반환할 수 있습니다. 다음 (음수) 값:

SPI_ERROR_ARGUMENT만일 쿼리가 NULL이거나tcount< 0.
SPI_ERROR_UNCONNECTED프로시저가 연결되지 않은 경우.
SPI_ERROR_COPY복사하는 경우 표준입력으로/에서.
SPI_ERROR_CURSOR만일 커서 선언/닫기, 가져오기.
SPI_ERROR_TRANSACTION시작/중단/종료인 경우.
SPI_ERROR_OPUNKNOWN만일 쿼리 유형을 알 수 없습니다(이런 일이 발생해서는 안 됩니다).

알고리즘

토토 결과다음을 수행합니다:

SPI 관리자에서 절차 연결을 끊고 다음을 통해 프로시저에 의해 이루어진 모든 메모리 할당을 해제합니다.팔록이후SPI_connect. 이러한 할당은 불가능합니다. 더 이상 사용하지 않았습니다! 메모리 관리를 참조하세요.