目录
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
。