Freigeben über


sp_prepexec (Transact-SQL)

Bereitet eine parametrisierte Transact-SQL-Anweisung vor und führt sie aus. sp_prepexec vereint die Funktionen von sp_prepare und sp_execute. Sie wird aufgerufen, indem ID = 13 in einem Tabular Data Stream-Paket (TDS) angegeben wird.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_prepexec handle OUTPUT, params , stmt
    [ , bound param ] [ ,...n ] ]

Argumente

  • handle
    Der von 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 erfordert einen der Eingabewerte ntext, nchar oder nvarchar.

  • 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 @P1 int;
EXEC sp_prepexec @P1 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 @P1;

Siehe auch

Verweis

sp_prepare (Transact-SQL)

sp_execute (Transact-SQL)

Gespeicherte Systemprozeduren (Transact-SQL)