目录
SPI_prepare
准备的语句所需的论点数量SPI_prepare
准备的语句的论点的 OID 数据类型true
如果 SPI_prepare
准备的语句可以用 SPI_cursor_open
使用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
。
如果您在文档中发现任何不正确的内容,与您对特定功能的体验不符或需要进一步说明,请使用 此表格 报告文档问题。