En utilisant les Paramètres de SORTIE dans le SQL Dynamique dans des Procédures Stockées - il Possible?

J'ai un SP que j'ai créé pour vérifier pour les validations et de retour d'un Paramètre de SORTIE de 0 (Pas d'Erreur) ou 1 (Erreur). Cependant, je dois courir ce SP dans le SQL Dynamique puisqu'il va être exécuté par une boucle de données différentes.

Puis-je tirer la SORTIE de la SP par le biais de l'EXEC sp_executesql @SQL?

Je ne peux pas poster le code, mais je peux donner un exemple..

DECLARE
@SQL nVARCHAR(4000),
@SPName VARCHAR(200),
@Parm1 VARCHAR(100),
@Parm2 VARCHAR(100),
@Parm3 VARCHAR(100),
@ParmDefinition nVARCHAR(400),
@Error nVARCHAR(1)

SELECT
    @SPName = 'spExample1',
    @Parm1  = '000000',
    @Parm2  = '111111',
    @Parm3  = '@Err=@Error OUTPUT',

SET @SQL = 'EXEC ' + @SPName + ' ' + @Parm1 + ',' + @Parm2 + ',' + @Parm3 + '

SET @ParmDefinition = N'@Err2 nVARCHAR(1) OUTPUT'
EXEC sp_executesql @SQL, @ParmDefinition, @Err2=@Error OUTPUT

L' @Variable SQL finit par être:

EXEC spExample1 000000, 111111, @Err=@Error OUTPUT

^^Qui fonctionne parfaitement par lui-même.

Fondamentalement, je vais essayer d'obtenir la SORTIE à travers le code ci-dessus, mais quand il a couru à travers de façon dynamique.

Est-ce possible ou est-il une autre façon de le faire?

La façon dont les choses se genre de jeu à la fin semblent être les suivants:

EXEC sp_executesql EXEC spExample1 000000, 111111, @Err=@Error OUTPUT, @Err2 nVARCHAR(1) OUTPUT, @Err2=@Error OUTPUT

Après avoir regardé qu'il semble ridicule, mais toute aide serait vraiment appréciée.

InformationsquelleAutor iamtheratio | 2010-10-27