W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
SPI_cursor_open — 使用由SPI_prepare
創(chuàng)建的 語(yǔ)句建立一個(gè)游標(biāo)
Portal SPI_cursor_open(const char * name
, SPIPlanPtr plan
,
Datum * values
, const char * nulls
,
bool read_only
)
SPI_cursor_open
建立一個(gè)游標(biāo)(在內(nèi)部是一個(gè) portal),該游標(biāo)將執(zhí)行由SPI_prepare
準(zhǔn)備好 的一個(gè)語(yǔ)句。參數(shù)具有和SPI_execute_plan
的 相應(yīng)參數(shù)相同的含義。
使用一個(gè)游標(biāo)而不是直接執(zhí)行該語(yǔ)句有兩個(gè)好處。首先,可以一次只取出 一些結(jié)果行,避免為返回很多行的查詢過度使用內(nèi)存。其次,一個(gè) portal 可以比當(dāng)前的C函數(shù)生存更長(zhǎng)時(shí)間(事實(shí)上,它可以生存到當(dāng)前事務(wù)結(jié)束)。 把 portal 的名稱返回給該C函數(shù)的調(diào)用者提供了一種將一個(gè)行集合返回為結(jié) 果的方法。
被傳入的參數(shù)數(shù)據(jù)將被復(fù)制到游標(biāo)的 portal 中,因此在該游標(biāo)仍然存在時(shí) 可以釋放掉被傳入的參數(shù)數(shù)據(jù)。
const char * name
portal 的名字,或者設(shè)置成NULL
讓系統(tǒng)選擇一個(gè)名稱
SPIPlanPtr plan
預(yù)備語(yǔ)句(由SPI_prepare
返回)
Datum * values
實(shí)際參數(shù)值的數(shù)組。長(zhǎng)度必須等于該語(yǔ)句的參數(shù)數(shù)量。
const char * nulls
描述哪些參數(shù)是空值的數(shù)據(jù)。長(zhǎng)度必須等于該語(yǔ)句的參數(shù)數(shù)量。
如果nulls
為NULL
, 那么SPI_cursor_open
會(huì)假設(shè)沒有參數(shù) 為空值。否則,如果對(duì)應(yīng)的參數(shù)值為非空, nulls
數(shù)組的每一個(gè)項(xiàng)都應(yīng)該是' '
;如果對(duì)應(yīng)參數(shù)值為空,
nulls
數(shù)組的項(xiàng)應(yīng)為'n'
(在后 面的情況中,對(duì)應(yīng)的values
項(xiàng)中的值沒有 關(guān)系)。注意nulls
不是一個(gè)文本字符串, 它只是一個(gè)數(shù)組:它不需要一個(gè)'\0'
終止符。
bool read_only
true
表示只讀執(zhí)行
指向包含該游標(biāo)的 portal 的指針。注意這里沒有錯(cuò)誤返回約定, 任何錯(cuò)誤都將通過elog
報(bào)告。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: