SPI_execp

Name

SPI_execp -- 執行一個 SPI_prepare 準備的查詢規劃

Synopsis

int SPI_execp(void * plan, Datum * values, const char * nulls, int count)

描述

SPI_execp 執行一個 SPI_prepare 準備的規劃。 tcount 的含義和 SPI_exec 裡面的相同。

參數

void * plan

執行規劃(SPI_prepare 返回的東西)

Datum *values

實際的參數值

const char * nulls

一個描述哪個參數是空的數組。n 表示一個空值(在 values 裡面對應的條目將被忽略); 一個空格表示一個非空值(在 values 裡對應條目是有效的)。

如果 nullsNULL,那麼 SPI_execp 就認為沒有參數是空。

int count

查詢要執行的行數

返回值

返回值和 SPI_exec 的一樣或者是下面之一:

SPI_ERROR_ARGUMENT

如果 planNULL 或者 count 小于 0

SPI_ERROR_PARAM

如果 valuesNULLplan 準備了一些參數

成功時, SPI_processedSPI_tuptable 的設置和 SPI_exec 裡一樣。

注意

如果準備好了的規劃引用的一個對象(表,函數,等等。)在會話過程中被刪除, 那麼 SPI_execp 對此規劃的執行結果將不可預料。