MS SQL: Supprimer la valeur de retour de la procédure stockée appelée dans la procédure stockée
Je pense que j'ai le même problème que kcrumley décrit dans la question "Problème d'appel de la procédure stockée à partir d'une autre procédure stockée via ASP classique". Cependant, sa question n'a pas vraiment d'inclure une solution, donc je vais donner un autre coup, en ajoutant mes propres observations:
J'ai deux procédures stockées:
CREATE PROCEDURE return_1 AS BEGIN
SET NOCOUNT ON;
SELECT 1
END
CREATE PROCEDURE call_return_1_and_return_2 AS BEGIN
SET NOCOUNT ON;
EXEC return_1
SELECT 2
END
Remarque que les deux procédures contiennent des "SET NOCOUNT on". Quand j'execute "call_return_1_and_return_2" je reçois encore des deux ensembles d'enregistrements. D'abord la valeur 1, alors la valeur 2.
Qui jette ASP (classique, VBScript, ASP) hors pistes.
Tous les conseils sur comment je peux supprimer le premier ensemble de résultats? Pourquoi est-il là, même avec NOCOUNT?
Sauter le premier record de l'ASP n'est pas une option. J'ai besoin d'une base de données "seule" solution.
source d'informationauteur BlaM | 2009-03-03
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas le NOCOUNT c'est à l'origine de ce, les procédures stockées ont une sélection de chacun, afin que chacun est à venir dans son propre jeu de résultats. Cela pourrait être évité en modifiant votre première procédure stockée pour utiliser les paramètres de sortie pour passer le numéro 1 en arrière plutôt que de faire un select. La seconde procédure stockée peut alors examiner le paramètre de sortie pour obtenir les données dont il a besoin pour fonctionner.
Essayer quelque chose comme cela
Comme Matt le souligne dans son commentaire, ni solution vraiment "avaler" le premier jeu de résultats.
Je ne sais pas pourquoi vous voulez, mais vous pouvez "avaler" le résultat de la première exec à l'aide d'un tableau de variables. Il doit correspondre au montant exact et le type de colonne du résultat. Comme:
Ceux qui ne sont pas de retour variables, mais la sortie d'enregistrement. Je suppose que dès que SQL server bouffées de chaleur de sortie pour le client, vous êtes foutu et ne peut pas revenir en arrière.
Je voudrais résoudre ce problème en ajoutant un paramètre à la SP return_1, qui permettrait de contrôler si return_1 sélectionnez les dossiers ou tout simplement faire des trucs et silencieusement sortie.