Dela via


sp_prepexec (Transact-SQL)

gäller för:SQL Server

Förbereder och kör en parameteriserad Transact-SQL-instruktion. sp_prepexec kombinerar funktionerna i sp_prepare och sp_execute. Den här åtgärden anropas av ID = 13 i ett TDS-paket (Tabular Data Stream).

Transact-SQL syntaxkonventioner

Syntax

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

Argument

Viktig

Argument för utökade lagrade procedurer måste anges i den specifika ordning som beskrivs i avsnittet Syntax. Om parametrarna anges i fel ordning visas ett felmeddelande.

hantera

DEN SQL Server-genererade hanterar identifierare. hantera är en obligatorisk parameter med ett int returvärde.

params

Identifierar parametriserade instruktioner. params definition av variabler ersätts med parametermarkörer i -instruktionen. params är en obligatorisk parameter som anropar ett ntext, nchareller nvarchar indatavärde. Ange ett NULL värde om instruktionen inte är parameteriserad.

stmt

Definierar markörens resultatuppsättning. Parametern stmt krävs och anropar ett ntext-, nchareller nvarchar indatavärde.

bound_param

Innebär valfri användning av extra parametrar. bound_param anropar ett indatavärde av vilken datatyp som helst för att ange de extra parametrar som används.

Exempel

I följande exempel förbereds och körs en enkel instruktion:

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;