SPI_execute_plan
SPI_execute_plan — 执行由SPI_prepare准备的语句
概要
int SPI_execute_plan(SPIPlanPtr plan, Datum * values, const char * nulls,
bool read_only, long count)说明
SPI_execute_plan执行由SPI_prepare或其同级函数准备的语句。*read_only和count*的解释与SPI_execute中相同。
参数
SPIPlanPtrplan准备好的语句(由
SPI_prepare返回)Datum *values实际参数值数组。必须与语句的参数数量相同。
const char *nulls描述哪些参数为 null 的数组。必须与语句的参数数量相同。
如果
nulls为NULL,则SPI_execute_plan假定没有参数为 null。否则,如果相应参数值不为 null,则nulls数组的每个条目应为' ';如果相应参数值为 null,则应为'n'。(在后一种情况下,相应values条目中的实际值无关紧要。)请注意,nulls不是文本字符串,而只是一个数组:它不需要'\0'终止符。boolread_only对于只读执行为
truelongcount要返回的最大行数,或对于无限制为
0
返回值
返回值与SPI_execute相同,并带有以下可能的附加错误(负数)结果
SPI_ERROR_ARGUMENT如果
plan为NULL或无效,或count小于 0SPI_ERROR_PARAM如果
values为NULL,并且plan是使用某些参数准备的
如果成功,则SPI_processed和SPI_tuptable会像在SPI_execute中一样设置。
