PostgreSQL SPI_execute_plan

2021-09-06 10:53 更新

SPI_execute_plan — 執(zhí)行一個由SPI_prepare預備好的語句

大綱

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

描述

SPI_execute_plan執(zhí)行一個由 SPI_prepare或其同類方法準備好的語句。 read_only和 and count的解釋和 SPI_execute中相同。

參數(shù)

SPIPlanPtr plan

預備語句(由SPI_prepare返回)

Datum * values

一個實際參數(shù)值的數(shù)組。必須和語句的參數(shù)數(shù)量等長。

const char * nulls

一個描述哪些參數(shù)為空值的數(shù)組。必須和語句的參數(shù)數(shù)量等長。

如果nullsNULL, 那么SPI_execute_plan會假設沒有參數(shù) 為空值。否則,如果對應的參數(shù)值為非空, nulls 數(shù)組的每一個項都應該是' ';如果對應參數(shù)值為空, nulls 數(shù)組的項應為'n'(在后 面的情況中,對應的values項中的值沒有 關系)。注意nulls不是一個文本字符串, 它只是一個數(shù)組:它不需要一個'\0'終止符。

bool read_only

true表示只讀執(zhí)行

long count

要返回的行的最大數(shù)量,或者用0表示沒有限制

返回值

返回值和SPI_execute相同, 還有下列額外可能的錯誤(負值)結果:

SPI_ERROR_ARGUMENT

如果planNULL 或者非法,或者count小于 0

SPI_ERROR_PARAM

如果valuesNULL但是 plan被準備時用了一些參數(shù)

成功時,就像在SPI_execute中會設置 SPI_processedSPI_tuptable。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號