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
和 count
的解释与 SPI_execute
中的相同。
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
表示无限制
返回值与 SPI_execute
相同,但有以下额外的可能的错误(负)结果
SPI_ERROR_ARGUMENT
如果 plan
为 NULL
或无效,或者 count
小于 0
SPI_ERROR_PARAM
如果 values
为 NULL
并且 plan
是用一些参数准备的
如果成功,则 SPI_processed
和 SPI_tuptable
的设置与 SPI_execute
中相同。
如果您发现文档中的任何内容不正确,与您使用特定功能的经验不符或需要进一步说明,请使用此表格报告文档问题。