PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# SPI_saveplan

## 名称

SPI_saveplan -- 保存一个预备语句

## 大纲

    SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

## 描述

`SPI_saveplan`在内存里保存一个传递进来的语句(用 `SPI_prepare`准备的)，它将不会被`SPI_finish` 和事务管理器释放，并且返回一个指向拷贝的语句的指针。 这样就给你在当前会话里的随后的调用中复用这个预备规划的能力。

## 参数

`SPIPlanPtr `plan``

  要保存的预备语句

## 返回值

指向保存的规划的指针；如果不成功则为 NULL 。出错的时候，像下面这样设置 SPI_result ：

`SPI_ERROR_ARGUMENT`

  如果`plan`是`NULL`或者无效的

`SPI_ERROR_UNCONNECTED`

  如果从一个未连接的过程中调用

## 注意

原先传入的语句并没有释放，所以你可能希望在其上执行`SPI_freeplan`， 以避免内存泄露直到`SPI_finish`。

在大多数情况下，`SPI_keepplan`偏爱这个函数， 因为它基本上不需要物理上拷贝预备语句的数据结构就完成了相同的结果。

上一页 | 起始页 | 下一页
SPI_keepplan | 上一级 | 接口支持函数