选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.4 已于 2020 年 2 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页

SPI_push

SPI_push — 压入 SPI 栈以允许递归使用 SPI

大纲

void SPI_push(void)

描述

SPI_push应当在执行另一个自身可能希望使用 SPI 的过程之前调用。 在SPI_push之后,SPI 不再处于连接状态,除非重新执行SPI_connect,否则 SPI 函数调用将被拒绝。这确保了你的过程的 SPI 状态与你所调用的另一个过程的状态之间的清晰分离。在另一个过程返回之后,调用SPI_pop恢复对你自己 SPI 状态的访问。

注意,SPI_execute及相关函数在把控制交还给 SQL 执行引擎之前,会自动完成相当于SPI_push的操作,因此在使用这些函数时无需为此操心。只有当你直接调用可能包含SPI_connect调用的任意代码时,才需要发出SPI_pushSPI_pop

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。