sp_prepexec (Transact-SQL)
Gilt für: SQL Server
Bereitet eine parametrisierte Transact-SQL-Anweisung vor und führt sie aus. sp_prepexec kombiniert die Funktionen von sp_prepare und sp_execute. Diese Aktion wird von ID =13 in einem TDS-Paket (Tabular Data Stream) aufgerufen.
Transact-SQL-Syntaxkonventionen
Syntax
sp_prepexec handle OUTPUT, params , stmt
[ , bound param ] [ ,...n]]
Argumente
Handle
Ist der sql Server-generierte Handlebezeichner . handle ist ein erforderlicher Parameter mit einem int -Rückgabewert.
params
Identifiziert parametrisierte Anweisungen. Die params -Definition der Variablen wird in der Anweisung an die Stelle der Parametermarkierungen gesetzt. params ist ein erforderlicher Parameter, der einen Eingabewert vom Typ ntext, nchar,oder nvarchar erfordert. Geben Sie einen NULL-Wert ein, wenn die Anweisung nicht parametrisiert ist.
stmt
Definiert das Resultset des Cursors. Der stmt-Parameter ist erforderlich und ruft einen ntext-, nchar- oder nvarchar-Eingabewert auf.
bound_param
Gibt die optionale Verwendung zusätzlicher Parameter an. bound_param erfordert einen Eingabewert eines beliebigen Datentyps, um die zusätzlichen verwendeten Parameter festzulegen.
Beispiele
Im folgenden Beispiel wird eine einfache Anweisung vorbereitet und ausgeführt:
Declare @Out int;
EXEC sp_prepexec @Out output,
N'@P1 nvarchar(128), @P2 nvarchar(100)',
N'SELECT database_id, name
FROM sys.databases
WHERE name=@P1 AND state_desc = @P2',
@P1 = 'tempdb', @P2 = 'ONLINE';
EXEC sp_unprepare @Out;
Weitere Informationen
sp_prepare (Transact SQL)
sp_execute (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)