2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.토토 : 문서 : 17 : SPI_PREPARE버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

사설 토토

이름

사설 토토 -- 문장을 준비하고, 아직 실행하지 않고

시놉시스

SPIPlanPtr 사설 토토(const char *명령, 정수나그스, 오이드 *argtypes)

설명

사설 토토생성하고 반환합니다. 지정된 명령에 대해 준비된 명령문이지만 그렇지 않습니다. 명령을 실행하십시오. 준비된 문은 나중에 실행될 수 있습니다. 반복적으로 사용SPI_execute_plan.

동일하거나 유사한 명령이 실행될 때 반복적으로 분석을 수행하는 것이 일반적으로 유리합니다. 한 번만 분석하면 더 유리할 수 있습니다. 명령에 대한 실행 계획을 재사용합니다.사설 토토명령 문자열을 구문 분석 결과를 캡슐화하는 준비된 문 분석. 준비된 진술은 다음을 위한 장소도 제공합니다. 사용자 정의 생성이 발견된 경우 실행 계획 캐싱 각 실행에 대한 계획은 도움이 되지 않습니다.

준비된 명령은 매개변수를 작성하여 일반화할 수 있습니다. ($1, $2등) 일반 명령의 상수 대신에. 는 매개변수의 실제 값은 다음과 같은 경우에 지정됩니다.SPI_execute_plan호출됩니다. 이 준비된 명령을 더 넓은 범위에서 사용할 수 있습니다. 매개변수 없이는 가능한 것보다 더 많은 상황이 발생합니다.

다음에 의해 반환된 명령문사설 토토현재에서만 사용할 수 있습니다. 프로시저 호출, 이후SPI_finish이러한 메모리에 할당된 메모리를 해제합니다. 성명. 그러나 명령문은 다음을 사용하여 더 오랫동안 저장할 수 있습니다. 기능SPI_keepplan또는SPI_saveplan.

인수

상수 문자 *명령

명령 문자열

int나그스

입력 매개변수 수 ($1, $2등)

오이드 *argtypes

다음을 포함하는 배열에 대한 포인터OIDs의 데이터 유형 매개변수

반환 값

사설 토토null이 아닌 값을 반환합니다. 에 대한 포인터SPIP플랜은 불투명합니다. 준비된 명령문을 나타내는 구조체입니다. 오류 발생 시,NULL반환될 것이며SPI_result동일한 오류 중 하나로 설정됩니다 에서 사용하는 코드SPI_execute, 제외 으로 설정되어 있습니다.SPI_ERROR_ARGUMENTif명령isNULL또는 만약나그스이다 0보다 작거나, 만약나그스더 큼 0보다 그리고argtypesisNULL.

참고

매개변수가 정의되지 않으면 일반 계획이 생성됩니다 처음 사용할 때SPI_execute_plan, 이후의 모든 작업에 사용됩니다. 처형도. 매개변수가 있는 경우 처음 몇 개는 의SPI_execute_plan생성합니다 제공된 매개변수 값과 관련된 사용자 정의 계획입니다. 동일한 준비된 명령문을 충분히 사용한 후,SPI_execute_plan일반적인 계획을 세우고 그것이 맞춤형 계획보다 너무 비싸지 않다면 각각을 다시 계획하는 대신 일반 계획을 사용하기 시작합니다. 시간. 이 기본 동작이 적합하지 않은 경우 다음과 같이 변경할 수 있습니다. 통과CURSOR_OPT_GENERIC_PLAN또는CURSOR_OPT_CUSTOM_PLAN다음에 플래그 지정사설 토토_cursor, 강제로 사용하려면 각각 일반 또는 맞춤형 계획입니다.

이 함수는 연결된 장치에서만 호출되어야 합니다. 절차.

SPIPlanPtr에 대한 포인터로 선언됩니다. 불투명한 구조체 유형spi.h. 그것은 콘텐츠에 직접 액세스하려고 시도하는 것은 현명하지 않습니다. 코드는 향후 개정판에서 깨질 가능성이 훨씬 더 높습니다.포스트그레SQL.

이름SPIPlanPtr다소 역사적, 데이터 구조가 더 이상 필요하지 않기 때문에 실행 계획이 포함되어 있습니다.