범퍼카 토토-외부 매개 변수로 명령을 실행
int 범퍼카 토토 (const char *명령
, intNARGS
, oid *Argtypes
, 데이텀 *값
, const char *nulls
, boolread_only
, Longcount
)
범퍼카 토토
외부에서 제공된 매개 변수에 대한 참조가 포함될 수있는 명령을 실행합니다. 명령 텍스트는 매개 변수를라고합니다.$
및 호출은 그러한 각 기호에 대한 데이터 유형과 값을 지정합니다.n
read_only
및count
SPI_EXECUTE
.
이 루틴의 주요 장점은SPI_EXECUTE
지루한 인용/탈출없이 데이터 값을 명령에 삽입 할 수 있으므로 SQL 주입 공격의 위험이 훨씬 적습니다..
비슷한 결과를 얻을 수 있습니다SPI_PREPARE
그 뒤에SPI_EXECUTE_PLAN
; 그러나이 기능을 사용할 때 쿼리 계획은 항상 제공된 특정 매개 변수 값에 맞게 사용자 정의됩니다. 일회성 쿼리 실행의 경우이 기능을 선호해야합니다. 동일한 명령을 여러 다른 매개 변수로 실행 해야하는 경우, 다시 계획 비용과 사용자 정의 계획의 이점에 따라 방법이 더 빠를 수 있습니다.
const char *명령
명령 문자열
intNARGS
입력 매개 변수 수 ($ 1
, $ 2
등)
OID *Argtypes
길이 배열NARGS
, 포함OID매개 변수의 데이터 유형
Datum *값
길이 배열NARGS
, 실제 매개 변수 값을 포함하는
const char *nulls
길이 배열NARGS
, 어떤 매개 변수가 null인지 설명
ifNULLS
isNULL
the범퍼카 토토
매개 변수가 무효라고 가정합니다. 그렇지 않으면,의 각 항목널스
배열이' '
해당 매개 변수 값이 null이 아닌 경우'n'
해당 매개 변수 값이 NULL 인 경우. (후자의 경우 해당의 실제 값값
항목은 중요하지 않습니다.) 참고널스
텍스트 문자열이 아니라 배열이 필요하지 않습니다.'\ 0'
터미네이터.
boolread_only
true
읽기 전용 실행
Longcount
반환 할 최대 행 수, 또는0
한계 없음
반환 값은와 동일합니다SPI_EXECUTE
.
SPI_PROCESSED
andSPI_TUPTable
SPI_EXECUTE
성공하면.