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;