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;