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。
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。