2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0

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_onlycount 的解释与 SPI_execute 中的相同。

参数

SPIPlanPtr plan

已准备好的语句(由 SPI_prepare 返回)

Datum * values

实际参数值的数组。长度必须与语句的参数数量相同。

const char * nulls

描述哪些参数为 NULL 的数组。长度必须与语句的参数数量相同。

如果 nullsNULL,则 SPI_execute_plan 假定没有参数为 NULL。否则,nulls 数组的每个条目都应为 ' '(如果相应的参数值非 NULL)或 'n'(如果相应的参数值为 NULL)。 (后一种情况,values 中相应条目的实际值无关紧要。)请注意,nulls 不是一个文本字符串,而只是一个数组:它不需要 '\0' 终止符。

bool read_only

只读执行时为 true

long count

要返回的最大行数,或 0 表示无限制

返回值

返回值与 SPI_execute 相同,但增加了以下可能的错误(负值)结果:

SPI_ERROR_ARGUMENT

如果 planNULL 或无效,或者 count 小于 0

SPI_ERROR_PARAM

如果 valuesNULL 并且 plan 是用某些参数准备的

如果成功,SPI_processedSPI_tuptable 的设置与 SPI_execute 中的相同。

提交更正

如果您在本应文档中发现任何不正确、与您对特定功能的体验不符或需要进一步说明的内容,请使用 此表单 报告文档问题。