Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
A kurzor utasítását vagy kötegét végrehajtási tervbe állítja össze, de nem hozza létre a kurzort. A lefordított utasítást később sp_cursorexecute
használhatja. Ez az eljárás sp_cursorexecute
együtt ugyanazzal a funkcióval rendelkezik, mint sp_cursoropen
, de két fázisra van osztva.
sp_cursorprepare
meghívása ID = 3
megadásával történik egy táblázatos adatfolyam-(TDS-) csomagban.
Transact-SQL szintaxis konvenciói
Szintaxis
sp_cursorprepare prepared_handle OUTPUT , params , stmt , options
[ , scrollopt [ , ccopt ] ]
[ ; ]
Érvek
Fontos
A kiterjesztett tárolt eljárások argumentumait a Szintaxis szakaszban leírt sorrendben kell megadni. Ha a paraméterek sorrenden kívül vannak beírva, hibaüzenet jelenik meg.
prepared_handle
Sql Server által létrehozott előkészített handle
azonosító, amely int értéket ad vissza.
prepared_handle ezután egy sp_cursorexecute
eljáráshoz lesz adva a kurzor megnyitásához. Miután létrejött egy leíró, addig létezik, amíg ki nem jelentkezik, vagy amíg nem távolítja el explicit módon egy sp_cursorunprepare
eljárással.
params
Paraméteres utasításokat azonosít. A paraméterjelek változók definíciója a paraméterjelölők helyett szerepel az utasításban.
params egy kötelező paraméter, amely ntext, ncharvagy nvarchar bemeneti értéket hív meg. Adjon meg egy NULL
értéket, ha az utasítás nincs paraméterezve.
Ha stmt paraméteres, és a scrollopt PARAMETERIZED_STMT értéke be van kapcsolva, használjon egy ntext sztringet bemeneti értékként.
stmt
Meghatározza a kurzor eredményhalmazát. Az stmt paraméterre van szükség, és ntext, **nchar vagy nvarchar bemeneti értéket kér.
A stmt érték megadásának szabályai megegyeznek a sp_cursoropen
, azzal a kivétellel, hogy az stmt sztring adattípusának ntextkell lennie.
beállítások
A kurzor eredményhalmaz oszlopainak leírását adja vissza. A beállítások paraméter int, alapértelmezett értéke NULL
. Ha 0x0001
értékre van állítva , az azt jelenti , hogy RETURN_METADATA
.
scrollopt
Görgetési lehetőség. A scrollopt paraméter egy opcionális paraméter, amely az alábbi bemeneti értékek egyikét igényli.
Érték | Leírás |
---|---|
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 |
Mivel előfordulhat, hogy a kért érték nem felel meg a stmtáltal definiált kurzornak, ez a paraméter bemenetként és kimenetként is szolgál. Ilyen esetekben az SQL Server egy megfelelő értéket rendel hozzá.
ccopt
Egyidejűség-vezérlési lehetőség. ccopt egy választható paraméter, amely az alábbi bemeneti értékek egyikét igényli.
Érték | Leírás |
---|---|
0x0001 |
READ_ONLY |
0x0002 |
SCROLL_LOCKS (korábban LOCKCC ) |
0x0004 |
OPTIMISTIC (korábban OPTCC ) |
0x0008 |
OPTIMISTIC (korábban OPTCCVAL ) |
0x2000 |
ALLOW_DIRECT |
0x4000 |
UPDT_IN_PLACE |
0x8000 |
CHECK_ACCEPTED_OPTS |
0x10000 |
READ_ONLY_ACCEPTABLE |
0x20000 |
SCROLL_LOCKS_ACCEPTABLE |
0x40000 |
OPTIMISTIC_ACCEPTABLE |
0x80000 |
OPTIMISTIC_ACCEPTABLE |
Ahogy görgethető, az SQL Server a kért értéktől eltérő értéket rendelhet hozzá.
Megjegyzések
Az RPC állapotparaméter az alábbi értékek egyike:
Érték | Leírás |
---|---|
0 |
Siker |
0x0001 |
Kudarc |
1FF6 |
Nem sikerült visszaadni a metaadatokat. Megjegyzés: Ennek az az oka, hogy az utasítás nem hoz létre eredményhalmazt; Ez például egy INSERT vagy DDL utasítás. |
Példák
Az alábbi kód egy példa a sp_cursorprepare
és a sp_cursorexecute
használatára:
DECLARE @handle AS INT, @p5 AS INT, @p6 AS INT;
EXECUTE sp_cursorprepare
@handle OUTPUT,
N'@dbid int',
N'select * from sys.databases where database_id < @dbid',
1,
@p5 OUTPUT,
@p6 OUTPUT;
DECLARE @p1 AS INT;
SET @P1 = @handle;
DECLARE @p2 AS INT;
DECLARE @p3 AS INT;
DECLARE @p4 AS INT;
SET @P6 = 4;
EXECUTE sp_cursorexecute
@p1,
@p2 OUTPUT,
@p3 OUTPUT,
@p4 OUTPUT,
@p5 OUTPUT,
@p6;
EXECUTE sp_cursorfetch @P2;
EXECUTE sp_cursorunprepare @handle;
EXECUTE sp_cursorclose @p2;
Ha stmt paraméteres, és a scrolloptPARAMETERIZED_STMT
értéke ON
, a sztring formátuma a következő formában van:
<parameter_name> <data_type> [ ,... n ]