目录
SPI_prepare
准备的语句所需的论证数量SPI_prepare
准备的语句的论证的数据类型 OIDSPI_prepare
准备的语句可与 SPI_cursor_open
一起使用,则返回 true
SPI_prepare
准备的语句SPI_prepare
准备的语句SPI_prepare
准备的语句SPI_prepare
创建的语句设置游标SPI_execute
或类似函数创建的行集服务器编程接口 (SPI) 使用户定义的 C 函数的编写者能够在其函数或过程中运行 SQL 命令。 SPI 是一组接口函数,用于简化对解析器、规划器和执行器的访问。 SPI 还执行一些内存管理。
可用的过程语言提供了从函数执行 SQL 命令的各种方法。这些工具中的大多数都基于 SPI,因此本文档可能也对这些语言的用户有用。
请注意,如果通过 SPI 调用的命令失败,则不会将控制权返回给您的 C 函数。相反,执行 C 函数的事务或子事务将回滚。(这似乎令人惊讶,因为 SPI 函数大多记录了错误返回约定。但这些约定仅适用于 SPI 函数本身内检测到的错误。)可以通过在可能失败的 SPI 调用周围建立自己的子事务来在错误后恢复控制权。
SPI 函数在成功时返回非负结果(通过返回的整数值或全局变量 SPI_result
,如下所述)。发生错误时,将返回负结果或 NULL
。
使用 SPI 的源代码文件必须包含头文件 executor/spi.h
。