Delen via


sp_prepexec (Transact-SQL)

van toepassing op:SQL Server-

Hiermee wordt een geparameteriseerde Transact-SQL-instructie voorbereid en uitgevoerd. sp_prepexec combineert de functies van sp_prepare en sp_execute. Deze actie wordt aangeroepen door ID = 13 in een TDS-pakket (tabellaire gegevensstroom).

Transact-SQL syntaxisconventies

Syntaxis

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

Argumenten

Belangrijk

Argumenten voor uitgebreide opgeslagen procedures moeten worden ingevoerd in de specifieke volgorde, zoals beschreven in de sectie Syntaxis. Als de parameters niet in de volgorde zijn ingevoerd, treedt er een foutbericht op.

verwerken

De door SQL Server gegenereerde -id verwerken. is een vereiste parameter met een int retourwaarde.

params

Identificeert geparameteriseerde instructies. De parameters definitie van variabelen wordt vervangen door parametermarkeringen in de instructie. params is een vereiste parameter die een ntext, ncharof nvarchar invoerwaarde aanroept. Voer een NULL waarde in als de instructie niet is geparameteriseerd.

stmt-

Hiermee definieert u de resultatenset van de cursor. De parameter stmt- is vereist en roept een ntext-, ncharof nvarchar invoerwaarde aan.

bound_param

Hiermee wordt het optionele gebruik van extra parameters opgegeven. bound_param vraagt om een invoerwaarde van elk gegevenstype om de extra parameters in gebruik aan te wijzen.

Voorbeelden

In het volgende voorbeeld wordt een eenvoudige instructie voorbereid en uitgevoerd:

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;