Table of Contents
SPI_prepare 预备的语句所需的参数
数量SPI_prepare 预备的语句某个参数的数据类型
OIDSPI_prepare 预备的语句可以与
SPI_cursor_open 一起使用则返回
trueSPI_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。