PostgreSQL 8.0.0 文書
前のページ | 巻戻し |  | 早送り | 次のページ

# SPI_execute_plan

## 名前

SPI_execute_plan -- `SPI_prepare`で準備された計画を実行します。

## 概要

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

## 説明

`SPI_execute_plan`は、`SPI_prepare`で準備された計画を実行します。 `read_only`と`count`は、`SPI_execute`と同様の解釈がなされます。

## 引数

`void * `plan``

  (`SPI_prepare`で返される)実行計画。

`Datum * `values``

  実パラメータ値の配列。 計画の引数の数と同じ長さでなければなりません。

`const char * `nulls``

  どのパラメータがNULLであるかを示す配列。 計画の引数の数と同じ長さでなければなりません。 `n`はNULL値を表します。(`values`内の項目は無視されます。) 空白は非NULLの値を表します。(`values`内の項目は有効です。)

  `nulls` が `NULL` の場合、`SPI_execute_plan`は全てのパラメータがNULLではないとみなします。

`bool `read_only``

  読み取りのみの実行の場合`true`。

`int `count``

  処理される、もしくは、返される行の最大値

## 戻り値

戻り値は、`SPI_execute`同様のものに加え、以下のエラー（負）の結果をとることがあります。

`SPI_ERROR_ARGUMENT`

  `plan` が `NULL` あるいは、`count` が0未満の場合。

`SPI_ERROR_PARAM`

  `values` が `NULL` 、かつ、`plan` がパラメータ付きで準備された場合。

成功時、`SPI_processed` と`SPI_tuptable`が `SPI_execute` 同様に設定されます。

## 注意

準備された計画で参照されるオブジェクト(テーブル、関数、など)のいずれかがセッション中に削除された場合、その計画用の`SPI_execute_plan`の結果は予測不能です。

前のページ | ホーム | 次のページ
SPI_is_cursor_plan | 上に戻る | SPI_execp