Mit dem Ergebnis von einer Gespeicherten Prozedur in einer Select-Anweisung
Ich habe eine gespeicherte Prozedur gibt einen Dataset(Table)
. Wie kann ich mit dem Ergebnis der gespeicherten Prozedur in eine SELECT
Aussage?
Brauche ich so etwas
SELECT T1.*
FROM Dummy T0
INNER JOIN
(EXEC [dbo].[SPGetResults] '900',300,'USD') T1
ON T1.aKey=T0.aKey
Ich bin mit SQL Server 2005
- wählen Sie in eine temp-Tabelle: siehe stackoverflow.com/questions/653714/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie eine Tabellenwert-Benutzer-definierte Funktion statt.
Stimme ich mit Marcelo meistens, aber wenn Sie sind auf mithilfe einer gespeicherten Prozedur oder der gespeicherten Prozedur, der alles tut, wirkt sich auf die Daten, die Sie erstellen könnte ein
#temp
Tabelle mit der Struktur der Ausgabe der gespeicherten Prozedur, und dann etwas tun, wieTun, und dann die Verknüpfungen und wählt auf der temp-Tabelle.
Die Antwort von Marcelo Cantos ist die beste.
Auch für verteilte Abfragen Sie können das folgende Skript verwenden:
http://www.kodyaz.com/articles/how-to-sql-select-from-stored-procedure-using-openquery-openrowset.aspx
Verwenden Insert Into ... Exec und speichern das Ergebnis in eine Temp-Tabelle... Dann können Sie sich in die Temp-Tabelle in der select-Anweisung.
Alternativ, wie bereits vorgeschlagen, bevor Sie versuchen, die Umwandlung der SP in eine Tabellenwertfunktion ist.
Dieser link bietet viel mehr Möglichkeiten für Sie... http://www.sommarskog.se/share_data.html
Hier ist ein einfaches Beispiel-Tabelle Wert " user-defined function :