適用於:SQL Server
根據 所 sp_cursorprepare建立的執行計劃建立並填入數據指標。 這個程式與 sp_cursorprepare具有相同的函式 sp_cursoropen,但會分割成兩個階段。
sp_cursorexecute 是在表格式資料流 (TDS) 封包中指定 ID = 4 來叫用。
語法
sp_cursorexecute prepared_handle , cursor
[ , scrollopt [ OUTPUT ]
[ , ccopt [ OUTPUT ]
[ , rowcount OUTPUT [ , bound param ] [ , ...n ] ] ] ]
[ ; ]
引數
重要
擴充預存程式的自變數必須依特定順序輸入,如 語法 一節所述。 如果參數依序輸入,就會發生錯誤訊息。
prepared_handle
所傳回的備妥語句sp_cursorprepare值。
prepared_handle參數為 int,不能為 NULL。
cursor
資料庫引擎產生的數據指標標識碼。
cursor 是必要參數,必須在對數據指標採取行動的所有後續程式上提供,例如 sp_cursorfetch。
scrollopt
捲動選項。
scrollopt 參數為 int,預設值為 NULL。
sp_cursorexecute
scrollopt 參數的值選項sp_cursoropen與 相同。
不支援此值 PARAMETERIZED_STMT 。
如果未指定 scrollopt 值,則不論 中指定的 KEYSETscrollopt 值為何,預設值都是 sp_cursorprepare 。
ccopt
貨幣控制選項。
ccopt 是選擇性參數,需要 int 輸入值。
sp_cursorexecute
ccopt 參數的值選項sp_cursoropen與 相同。
OPTIMISTIC
值為何,預設值都是 sp_cursorprepare 。
rowcount
選擇性參數,表示要搭配 AUTO_FETCH使用的擷取緩衝區數據列數目。 預設值為20個數據列。
當指派為輸入值與傳回值時,rowcount 的行為會有所不同。
| 作為輸入值 | 作為傳回值 |
|---|---|
使用數據指標指定AUTO_FETCH時FAST_FORWARD,rowcount 代表要放入擷取緩衝區的數據列數目。 |
表示結果集中的數據列數目。
指定 scrolloptAUTO_FETCH 值時,rowcount 會傳回擷取至提取緩衝區的數據列數目。 |
bound_param
表示選擇性地使用額外的參數。
第五個之後的任何參數會以輸入參數的形式傳遞至語句計劃。
傳回碼值
rowcount 會傳回下列值。
| 值 | Description |
|---|---|
-1 |
未知的數據列數目。 |
-n |
異步母體擴展實際上已生效。 |
備註
scrollopt 和 ccopt 參數
當快取計劃先佔伺服器快取時,scrollopt 和 ccopt 會很有用,這表示識別語句的備妥句柄必須重新編譯。
scrollopt 和 ccopt 參數值必須符合在原始要求中傳送至 sp_cursorprepare的值。
PARAMETERIZED_STMT 不應該指派給 scrollopt。
無法提供相符的值會導致重新編譯計劃、否定準備和執行作業。
RPC 和 TDS 考慮
RPC RETURN_METADATA 輸入旗標可以設定為 1 ,要求 TDS 數據流中傳回數據指標選取清單元數據。