Ereignisse
31. März, 23 Uhr - 2. Apr., 23 Uhr
Das größte SQL-, Fabric- und Power BI-Lernereignis. 31. März – 2. April. Verwenden Sie Code FABINSIDER, um $400 zu sparen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Gilt für: SQL Server
Azure SQL verwaltete Instanz
Azure Synapse Analytics Analytics
Platform System (PDW)
Bereitet eine parametrisierte Transact-SQL-Anweisung vor und gibt ein Anweisungshandle für die Ausführung zurück. sp_prepare
wird aufgerufen, indem in einem TDS-Paket (Tabular Data Stream) angegeben ID = 11
wird.
Transact-SQL-Syntaxkonventionen
sp_prepare
handle OUTPUT
, params
, stmt
, options
[ ; ]
Ein vom SQL Server generierter , vorbereiteter Handlebezeichner . handle ist ein erforderlicher Parameter mit einem int -Rückgabewert.
Identifiziert parametrisierte Anweisungen. params ist ein erforderlicher OUTPUT-Parameter, der einen ntext-, nchar- oder nvarchar-Eingabewert aufruft. Die params -Definition der Variablen wird in der Anweisung an die Stelle der Parametermarkierungen gesetzt. Geben Sie einen Wert ein NULL
, wenn die Anweisung nicht parametrisiert ist.
Definiert das Resultset des Cursors. Der stmt-Parameter ist erforderlich und ruft einen ntext-, nchar- oder nvarchar-Eingabewert auf.
Ein optionaler Parameter, der eine Beschreibung der Spalten im Cursorresultset zurückgibt. für optionen ist der folgende Eingabewert erforderlich:
Wert | Beschreibung |
---|---|
0x0001 |
RETURN_METADATA |
Im folgenden Beispiel wird eine einfache Transact-SQL-Anweisung vorbereitet und ausgeführt.
DECLARE @handle INT;
EXEC 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';
EXEC sp_execute @handle,
N'tempdb',
N'ONLINE';
EXEC sp_unprepare @handle;
Im folgenden Beispiel wird eine Anweisung in der AdventureWorks2022
Datenbank vorbereitet und später mithilfe des Handles ausgeführt.
-- Prepare query
DECLARE @handle INT;
EXEC 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
Hier sehen Sie das Ergebnis.
1
Führen Sie die Abfrage zweimal mithilfe des Handlewerts 1
aus, bevor Sie den vorbereiteten Plan verwerfen.
EXEC sp_execute 1, 49879;
GO
EXEC sp_execute 1, 48766;
GO
EXEC sp_unprepare 1;
GO
Ereignisse
31. März, 23 Uhr - 2. Apr., 23 Uhr
Das größte SQL-, Fabric- und Power BI-Lernereignis. 31. März – 2. April. Verwenden Sie Code FABINSIDER, um $400 zu sparen.
Jetzt registrieren