SPI_PREPARE
생성 및 반환
지정된 명령에 대한 준비된 명령문이지만 그렇지 않습니다
명령을 실행하십시오. 준비된 진술은 나중에 실행될 수 있습니다
반복적으로 사용SPI_EXECUTE_PLAN
.
동일하거나 유사한 명령을 실행하는 경우
반복적으로, 일반적으로 구문 분석을 수행하는 것이 유리합니다
한 번만 분석하고 더 유리할 수 있습니다
명령에 대한 실행 계획을 재사용하십시오.SPI_PREPARE
명령 문자열을 a로 변환합니다
구문 분석 결과를 캡슐화하는 준비된 진술
분석. 준비된 진술은 또한 장소를 제공합니다
사용자 정의 생성이 발견되면 실행 계획을 캐싱
각 실행에 대한 계획은 도움이되지 않습니다.
준비된 명령은 매개 변수를 작성하여 일반화 할 수 있습니다
($ 1, $ 2등)
정상적인 명령에서 상수가 될 대신. 그만큼
그런 다음 매개 변수의 실제 값은에 지정됩니다.SPI_EXECUTE_PLAN
호출됩니다. 이것
준비된 명령을 더 넓은 범위의
매개 변수없이 가능한 상황.
진술은SPI_PREPARE
전류에서만 사용할 수 있습니다
이후 절차 호출SPI_FINISH
그러한 메모리가 할당 된 메모리
성명. 그러나 진술은
기능SPI_KEEPPLAN
또는SPI_SAVEPLAN
.
SPI_PREPARE
널을 반환합니다
에 대한 포인터Spiplan, 불투명합니다
준비된 진술을 나타내는 구조. 오류로NULL반환되고SPI_RESULT동일한 오류 중 하나로 설정됩니다
사용 코드SPI_EXECUTE
SPI_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다소입니다 데이터 구조가 더 이상 반드시 필요하지 않기 때문에 역사적 실행 계획이 포함되어 있습니다.