Ich habe eine gespeicherte Prozedur, die Zeilen zurückgibt:
CREATE PROCEDURE MyProc
AS
BEGIN
SELECT * FROM MyTable
END
Meine eigentliche Prozedur ist ein wenig komplizierter, weshalb eine Sproc notwendig ist.
Ist es möglich, die Ausgabe durch den Aufruf dieser Prozedur zu selektieren?
Etwa so:
SELECT * FROM (EXEC MyProc) AS TEMP
Ich muss SELECT TOP X
, ROW_NUMBER
und eine zusätzliche WHERE
-Klausel verwenden, um meine Daten aufzurufen, und ich möchte diese Werte nicht wirklich als Parameter übergeben.
Sie können
... sql ....
Declare @T Table ([column definitions here])
Insert @T Exec storedProcname params
Select * from @T Where ...
Sie wollen entweder eine tabellenbewertete Funktion oder Ihre EXEC in eine temporäre Tabelle einfügen:
INSERT INTO #tab EXEC MyProc
Es hört sich so an, als bräuchten Sie nur eine view zu verwenden. Eine Ansicht ermöglicht es, eine Abfrage als Tabelle darzustellen, so dass sie, die Ansicht, abgefragt werden kann.