SPI_execute_plan
SPI_execute_plan — 执行一个由SPI_prepare
预备好的语句
大纲
int SPI_execute_plan(SPIPlanPtrplan
, Datum *values
, const char *nulls
, boolread_only
, longcount
)
描述
SPI_execute_plan
执行一个由
SPI_prepare
或其同类方法准备好的语句。
read_only
和 and
count
的解释和
SPI_execute
中相同。
参数
SPIPlanPtr
plan
预备语句(由
SPI_prepare
返回)Datum *
values
一个实际参数值的数组。必须和语句的参数数量等长。
const char *
nulls
一个描述哪些参数为空值的数组。必须和语句的参数数量等长。
如果
nulls
为NULL
, 那么SPI_execute_plan
会假设没有参数 为空值。否则,如果对应的参数值为非空,nulls
数组的每一个项都应该是' '
;如果对应参数值为空,nulls
数组的项应为'n'
(在后 面的情况中,对应的values
项中的值没有 关系)。注意nulls
不是一个文本字符串, 它只是一个数组:它不需要一个'\0'
终止符。bool
read_only
true
表示只读执行long
count
要返回的行的最大数量,或者用
0
表示没有限制
返回值
返回值和SPI_execute
相同,
还有下列额外可能的错误(负值)结果:
SPI_ERROR_ARGUMENT
如果
plan
为NULL
或者非法,或者count
小于 0SPI_ERROR_PARAM
如果
values
为NULL
但是plan
被准备时用了一些参数
成功时,就像在SPI_execute
中会设置
SPI_processed
和
SPI_tuptable
。