返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

SPI_execute_plan

发布于 2019-09-30 03:09:49 字数 1664 浏览 983 评论 0 收藏 0

函数名

SPI_execute_plan--执行一个 SPI_prepare 准备的查询规划

原型

int SPI_execute_plan(void * plan, Datum * values, const char * nulls,
                     bool read_only, long count)

描述

SPI_execute_plan 执行一个 SPI_prepare 准备的规划。read_onlycount 的含义和 SPI_execute 里面的相同。

参数

void * plan

执行规划(SPI_prepare 返回)

Datum * values

一个实际的参数值的数组。比如和规划的参数个数长度相同。

const char * nulls

一个描述哪个参数是空的数组。必须和规划的参数个数相同。n 表示一个 NULL(在 values 里面对应的条目将被忽略);一个空格表示一个非 NULL(在 values 里对应条目是有效的)。

如果 nullsNULL ,那么 SPI_execute_plan 就认为没有参数是空。

bool read_only

只读执行时为 true

long count

执行或返回的最大行数

返回值

返回值和 SPI_execute 的一样,另外还有下面几个可能的(负值)结果:

SPI_ERROR_ARGUMENT

如果 planNULLcount 小于 0

SPI_ERROR_PARAM

如果 valuesNULL 并且 plan 准备了一些参数

成功时,SPI_processedSPI_tuptable 的设置和 SPI_execute 里一样。

注意

如果准备好了的规划引用的一个对象(表、函数等等)在会话过程中被删除,那么 SPI_execute_plan 对此规划的执行结果将不可预料。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文