이 문서는 지원되지 않는 버전의 사설 토토을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다토토 : 문서 : 17 : SPI_PREPARE버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

SPI_PREPARE

이름

SPI_PREPARE- 진술 준비, 아직 실행하지 않고

시놉시스

spiplanptr spi_prepare (const char *10397_10406, intNARGS, oid *Argtypes)

설명

SPI_PREPARE생성 및 반환 지정된 명령에 대한 준비된 명령문이지만 그렇지 않습니다 명령을 실행하십시오. 준비된 진술은 나중에 실행될 수 있습니다 반복적으로 사용SPI_EXECUTE_PLAN.

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

준비된 명령은 매개 변수를 작성하여 일반화 할 수 있습니다 ($ 1, $ 2등) 정상적인 명령에서 상수가 될 대신. 그만큼 그런 다음 매개 변수의 실제 값은에 지정됩니다.SPI_EXECUTE_PLAN호출됩니다. 이것 준비된 명령을 더 넓은 범위의 매개 변수없이 가능한 상황.

진술은SPI_PREPARE전류에서만 사용할 수 있습니다 이후 절차 호출SPI_FINISH그러한 메모리가 할당 된 메모리 성명. 그러나 진술은 기능SPI_KEEPPLAN또는SPI_SAVEPLAN.

인수

const char *명령

명령 문자열

intNARGS

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

OID *Argtypes

를 포함하는 배열에 대한 포인터OID매개 변수

반환 값

SPI_PREPARE널을 반환합니다 에 대한 포인터Spiplan, 불투명합니다 준비된 진술을 나타내는 구조. 오류로NULL반환되고SPI_RESULT동일한 오류 중 하나로 설정됩니다 사용 코드SPI_EXECUTESPI_ERROR_ARGUMENTif명령isNULL또는 ifNARGSIS 0 미만 또는 ifNARGS더 큽니다 0과ArgtypesisNULL.

노트

매개 변수가 정의되지 않으면 일반 계획이 생성됩니다. 의 첫 번째 사용시SPI_EXECUTE_PLAN및 모든 후속에 사용됩니다 실행도. 매개 변수가있는 경우 처음 몇 가지 용도로 사용됩니다 의SPI_EXECUTE_PLAN생성됩니다 제공된 매개 변수 값에만 해당되는 사용자 정의 계획. 동일한 준비된 진술을 충분히 사용한 후SPI_EXECUTE_PLAN일반 계획을 세울 것입니다 그것이 사용자 정의 계획보다 훨씬 비싸지 않다면 각각을 다시 계획하는 대신 일반 계획을 사용하기 시작합니다. 시간. 이 기본 동작이 부적합한 경우 변경할 수 있습니다. 전달cursor_opt_generic_plan또는cursor_opt_custom_plan플래그 toSPI_PREPARE_CURSOR, 강제 사용 각각 일반 또는 맞춤형 계획.

이 함수는 연결된 A에서만 호출해야합니다 절차.

spiplanptr는 포인터로 선언됩니다 불투명 한 구조물 유형SPI.H. 그것은 내용에 직접 액세스하려고하지 않으려 고 향후 |사설 토토.

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