On this page
SPI_execute_plan
SPI_execute_plan —执行由SPI_prepare
准备的语句
Synopsis
int SPI_execute_plan(SPIPlanPtr plan, Datum * values, const char * nulls,
bool read_only, long count)
Description
SPI_execute_plan
执行由SPI_prepare
或其同级之一准备的语句。 * read_only
和 count
*与SPI_execute
具有相同的解释。
Arguments
SPIPlanPtr plan
- 准备好的语句(由
SPI_prepare
返回)
- 准备好的语句(由
Datum * values
- 实际参数值的数组。长度必须与语句的参数个数相同。
const char * nulls
- 一个数组,描述哪些参数为空。长度必须与语句的参数个数相同。
如果* nulls
为NULL
,则SPI_execute_plan
假定没有参数为空。否则,如果相应的参数值非空,则 nulls
数组的每个条目应为' '
,如果相应的参数值为空,则应为'n'
。 (在后一种情况下,相应的 values
条目中的实际值无关紧要.)请注意, nulls
*不是文本字符串,而只是数组:它不需要'\0'
终止符。
bool read_only
true
用于只读执行
long count
- 要返回的最大行数,或
0
无限制
- 要返回的最大行数,或
Return Value
返回值与SPI_execute
相同,并附加以下可能的错误(负)结果:
SPI_ERROR_ARGUMENT
- 如果*
plan
为NULL
或无效,或者count
*小于 0
- 如果*
SPI_ERROR_PARAM
- 如果*
values
是NULL
且plan
*是使用某些参数准备的
- 如果*
如果成功,则将SPI_processed
和SPI_tuptable
设置为SPI_execute
。