Wie man GRAF von der gespeicherten Prozedur zurückgeben?
Ich habe eine gespeicherte Prozedur in SQL, die ich nicht ändern kann. Es braucht nur wenige Eingabeparameter und gibt eine Tabelle mit 100+ Zeilen und mehreren Spalten.
exec dbo.Select_Data 0, 0, 18, 50
Ich brauche etwas, um Anzahl von zurückgegebenen Zeilen:
select count(*) from (exec dbo.Select_Data 0, 0, 18, 50)
und ein Weg, um Werte aus z.B. Spalte "Name":
select Id, Name from (exec dbo.Select_Data 0, 0, 18, 50) where Id=10
Wie mache ich das?
Die Antwort kommt wohl auf die genaue Datenbank, die Sie verwenden, also was ist es?
Ich bin mit MS SQL 2008, wenn das Ihre Frage beantwortet
Ich bin mit MS SQL 2008, wenn das Ihre Frage beantwortet
InformationsquelleAutor Kromster | 2010-09-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie erstellen eine temporäre Tabelle zu halten, die Ergebnisse der gespeicherten Prozedur. Sie können dann die Abfrage der temp-Tabelle. Das schema der temp-Tabelle muss mit der Ausgabe der gespeicherten Prozedur.
Beispiel:
Überprüfung
@@rowcount
stattSELECT COUNT(*) FROM #temp
zu speichern, sollten Sie einen scan des temp-Tabelle.Das schema der temp-Tabelle muss mit der Ausgabe der Gespeicherten Prozedur nicht in der Liste der parameter.
Guter Punkt
Sie tun können, aber Sie müssen Bedenken, einige der zusätzlichen Anforderungen: stackoverflow.com/questions/653714/...
InformationsquelleAutor codingbadger
Können Sie die Daten in einer in-memory-oder temporäre Tabelle (je nach Datenmenge).
InformationsquelleAutor Bronumski