Partage via


sp_prepexec (Transact-SQL)

S'applique à : SQL Server

Prépare et exécute une instruction Transact-SQL paramétrée. sp_prepexec combine les fonctions et sp_prepare sp_execute. cette action est appelée ID = 13 dans un paquet TDS (Tabular Data Stream).

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

descripteur

Identificateur de handle généré par SQL Server. handle est un paramètre obligatoire avec une valeur de retour int .

params

Identifie des instructions paramétrables. La définition params des variables est remplacée par les marqueurs de paramètres dans l’instruction. params est un paramètre obligatoire qui appelle une valeur d’entrée ntext, nchar ou nvarchar . Entrez une NULL valeur si l’instruction n’est pas paramétrée.

stmt

Définit le jeu de résultats de curseur. Le paramètre stmt est requis et appelle une valeur d’entrée ntext, nchar ou nvarchar .

bound_param

Signifie l’utilisation facultative de paramètres supplémentaires. bound_param appelle une valeur d’entrée de n’importe quel type de données pour désigner les paramètres supplémentaires en cours d’utilisation.

Exemples

L’exemple suivant prépare et exécute une instruction simple :

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;