2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0

SPI_execute_plan

SPI_execute_plan — 執行由 SPI_prepare 準備的語句

概要

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

描述

SPI_execute_plan 執行由 SPI_prepare 或其同類函式準備的語句。 read_onlycount 的解釋與 SPI_execute 中的相同。

引數

SPIPlanPtr plan

已準備好的語句(由 SPI_prepare 返回)

Datum * values

實際引數值的陣列。長度必須與語句的引數數量相同。

const char * nulls

描述哪些引數為 NULL 的陣列。長度必須與語句的引數數量相同。

如果 nullsNULL,則 SPI_execute_plan 假定沒有引數為 NULL。否則,nulls 陣列的每個條目都應為 ' '(如果相應的引數值非 NULL)或 'n'(如果相應的引數值為 NULL)。 (後一種情況,values 中相應條目的實際值無關緊要。)請注意,nulls 不是一個文字字串,而只是一個數組:它不需要 '\0' 終止符。

bool read_only

只讀執行時為 true

long count

要返回的最大行數,或 0 表示無限制

返回值

返回值與 SPI_execute 相同,但增加了以下可能的錯誤(負值)結果:

SPI_ERROR_ARGUMENT

如果 planNULL 或無效,或者 count 小於 0

SPI_ERROR_PARAM

如果 valuesNULL 並且 plan 是用某些引數準備的

如果成功,SPI_processedSPI_tuptable 的設定與 SPI_execute 中的相同。

提交更正

如果您在本應文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步說明的內容,請使用 此表單 報告文件問題。