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 裡對應條目是有效的)。
如果 nulls 是 NULL,那麼 SPI_execp 就認為沒有參數是空。
- int count
查詢要執行的行數
返回值
返回值和 SPI_exec 的一樣或者是下面之一:
- SPI_ERROR_ARGUMENT
如果 plan 是 NULL 或者 count 小于 0
- SPI_ERROR_PARAM
如果 values 是 NULL 而 plan 準備了一些參數
成功時,
SPI_processed 和
SPI_tuptable 的設置和
SPI_exec 裡一樣。
注意
如果準備好了的規劃引用的一個對象(表,函數,等等。)在會話過程中被刪除,
那麼 SPI_execp 對此規劃的執行結果將不可預料。