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.
Vonatkozik a következőkre:SQL Server
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
Paraméterezett Transact-SQL utasítást készít elő, és visszaad egy utasításkezelőt végrehajtásra.
sp_prepare tábla adatfolyam (TDS) csomagban történő meghatározással ID = 11 idézik elő.
Transact-SQL szintaxis konvenciók
Szemantika
sp_prepare
handle OUTPUT
, params
, stmt
, options
[ ; ]
Arguments
fogantyú
Egy SQL Server által generált kezelőazonosító . A handle egy szükséges paraméter, amelynek int visszatérési értéke van.
params
Paraméteres utasításokat azonosít.
a params egy szükséges OUTPUT paraméter, amely ntext, nchar vagy nvarchar bemeneti értéket kér. A paraméterjelek változók definíciója a paraméterjelölők helyett szerepel az utasításban. Értéket adj be NULL , ha az állítás nincs paraméterezve.
STMT
Meghatározza a kurzor eredményhalmazát. A stmt paraméter szükséges, és ntext, nchar vagy nvarchar bemeneti értéket kér.
beállítások
Nem kötelező paraméter, amely a kurzor eredményhalmaz oszlopainak leírását adja vissza. Az opció a következő bemeneti értéket igényli:
| Érték | Description |
|---|---|
0x0001 |
RETURN_METADATA |
Példák
A. Készíts elő és hajts végre egy nyilatkozatot
A következő példa egy alapvető Transact-SQL utasítást készít és hajt végre.
DECLARE @handle AS INT;
EXECUTE sp_prepare
@handle OUTPUT, N'
@P1 NVARCHAR(128),
@P2 NVARCHAR(100)',
N'SELECT database_id, name FROM sys.databases WHERE name=@P1 AND state_desc = @P2';
EXECUTE sp_execute
@handle,
N'tempdb', N'ONLINE';
EXECUTE sp_unprepare @handle;
B. Készítsd elő és hajtsd végre egy utasítást a kiadvány segítségével
A következő példa előkészít egy utasítást az AdventureWorks2025 adatbázisban, majd később a fogantyulóval hajtja végre.
-- Prepare query
DECLARE @handle AS INT;
EXECUTE sp_prepare
@handle OUTPUT, N'@Param INT', N'SELECT *
FROM Sales.SalesOrderDetail AS sod
INNER JOIN Production.Product AS p ON sod.ProductID = p.ProductID
WHERE SalesOrderID = @Param
ORDER BY Style DESC;';
-- Return handle for calling application
SELECT @handle;
GO
Itt van az eredmények összessége.
1
A lekérdezést kétszer hajtsuk végre a kezelő érték 1használatával, mielőtt eldobnánk a felkészített tervet.
EXECUTE sp_execute 1, 49879;
GO
EXECUTE sp_execute 1, 48766;
GO
EXECUTE sp_unprepare 1;
GO