Ich denke, ich habe das gleiche Problem wie kcrumley beschreibt in der Frage "Problem calling stored procedure from another stored procedure via classic ASP". Doch seine Frage nicht enthalten wirklich eine Lösung, so werde ich einen weiteren Versuch, meine eigenen Beobachtungen und fügte hinzu:MS SQL: Unterdrücken Rückgabewert der gespeicherten Prozedur aufgerufen in gespeicherten Prozedur
ich zwei gespeicherte Prozeduren haben:
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
Beachten Sie, dass beide Verfahren „SET enthalten NOCOUNT ON ". Wenn ich "call_return_1_and_return_2" ausführe, erhalte ich immer noch zwei Datensätze. Zuerst der Wert 1, dann der Wert 2.
Das wirft ASP (klassisches VBScript ASP) von den Spuren.
Gibt es Hinweise, wie ich die erste Ergebnismenge unterdrücken kann? Warum ist es sogar mit NOCOUNT?
Das Überspringen des ersten Datensatzes in ASP ist keine Option. Ich brauche eine "nur Datenbank" -Lösung.
Ein paar Antworten weisen darauf hin, dass Sie von einem SELECT auf eine RETURN ändern können, aber das ist eine große Frage - was ist, wenn die verschachtelte gespeicherte Prozedur auswählen muss, weil etwas anderes es nennt, und du kannst es nicht ändern? Ich frage mich, ob es möglich ist, ein solches Ergebnis zu "schlucken". –