sp_cursorprepexec (Transact-SQL)
編譯提交之資料指標陳述式或批次的計畫,然後建立及擴展資料指標。 sp_cursorprepexec 會結合 sp_cursorprepare 和 sp_cursorexecute 的功能。 這個程序的叫用方式是在表格式資料流 (TDS) 封包中指定 ID = 5。
語法
sp_cursorprepexec prepared handle OUTPUT, cursor OUTPUT, params , statement , options
[ , scrollopt [ , ccopt [ , rowcount ] ] ]
引數
prepared handle
這是 SQL Server 產生的已備妥「控制代碼」(Handle) 識別碼。 prepared handle 是必要的而且會傳回 int。cursor
這是 SQL Server 產生的資料指標識別碼。 cursor 是必要的參數,在所有處理這個資料指標的後續程序上都必須提供這個參數。 sp_cursorfetch.params
識別參數化的陳述式。 params 定義會替代陳述式中的參數標記。 params 是呼叫 ntext、nchar 或 nvarchar 輸入值的必要參數。[!附註]
當 stmt 參數化而且 scrollopt PARAMETERIZED_STMT 值設定為 ON 時,使用 ntext 字串當做輸入值。
statement
定義資料指標結果集。 statement 是必要參數,而且會呼叫 ntext、nchar 或 nvarchar 輸入值。[!附註]
指定 stmt 值的規則與 sp_cursoropen 的規則相同,例外之處是 stmt 字串資料類型必須是 ntext。
options
傳回資料指標結果集資料行描述的選擇性參數。 options 需要下列 int 輸入值。值
說明
0x0001
RETURN_METADATA
scrollopt
捲動選項。 scrollopt 是需要下列其中一個 int 輸入值的選擇性參數。值
說明
0x0001
KEYSET
0x0002
DYNAMIC
0x0004
FORWARD_ONLY
0x0008
STATIC
0x10
FAST_FORWARD
0x1000
PARAMETERIZED_STMT
0x2000
AUTO_FETCH
0x4000
AUTO_CLOSE
0x8000
CHECK_ACCEPTED_TYPES
0x10000
KEYSET_ACCEPTABLE
0x20000
DYNAMIC_ACCEPTABLE
0x40000
FORWARD_ONLY_ACCEPTABLE
0x80000
STATIC_ACCEPTABLE
0x100000
FAST_FORWARD_ACCEPTABLE
因為要求的選項有可能不適合 <stmt> 所定義的資料指標,所以這個參數會當做輸入和輸出。 在這類情況下,SQL Server 會指派適合的類型並修改這個值。
ccopt
並行控制選項。 ccopt 是需要下列其中一個 int 輸入值的選擇性參數。值
說明
0x0001
READ_ONLY
0x0002
SCROLL_LOCKS (之前稱為 LOCKCC)
0x0004
OPTIMISTIC (之前稱為 OPTCC)
0x0008
OPTIMISTIC (之前稱為 OPTCCVAL)
0x2000
ALLOW_DIRECT
0x4000
UPDT_IN_PLACE
0x8000
CHECK_ACCEPTED_OPTS
0x10000
READ_ONLY_ACCEPTABLE
0x20000
SCROLL_LOCKS_ACCEPTABLE
0x40000
OPTIMISTIC_ACCEPTABLE
0x80000
OPTIMISITC_ACCEPTABLE
如果是 scrollpt,SQL Server 可以指派與要求的值不同的值。
rowcount
這是選擇性參數,表示要搭配 AUTO_FETCH 使用的提取緩衝區資料列數目。 預設為 20 個資料列。 當指派為輸入值與傳回值時,rowcount 的行為會有所不同。當做輸入值
當做傳回值
當 AUTO_FETCH 與 FAST_FORWARD 資料指標一起指定時,rowcount 代表要放入提取緩衝區內的資料列數目。
代表結果集中的資料列數目。 當指定 scrollopt AUTO_FETCH 值時,rowcount 會傳回提取到提取緩衝區中的資料列數目。
傳回碼值
如果 params 傳回 NULL 值,則表示陳述式未參數化。
請參閱
參考
sp_cursorexecute (Transact-SQL)