none
select * from Stored Procedure RRS feed

  • Frage

  • Hallo zusammen,

    ich habe das schon mal gemacht, aber ich komm nicht mehr drauf, wie: wie kann ich eine Select-Abfrage auf eine Stored Procedure als Datenbasis ausführen?

    Ich meine das so gemacht zu haben (ps ist der Name der Stored Procedure):

    select * from ps (Parameter)  as psTest

    Das funktioniert aber nicht. Die Fehlermeldung lautet "Ungültiger Objektname 'ps'".

    Google hat mir leider nicht weitergeholfen.

    Vielen Dank und viele Grüße

    Michael

    Mittwoch, 30. Juni 2010 07:34

Antworten

  • Hallo Michael,

    Select * FROM SP geht nicht. Du könntest die SP in eine Table Valued Function ändern, mit der geht es.

    Andere Option ist, eine (temporäre) Tabelle zu erstellen, die genau dem Ausgabe-Tabelle der SP entspricht. Dort kannst Du das Ergebnis einfügen lassen.
    Beispiel:

    CREATE TABLE #res

        (name sysname NULL,

         fileid smallint NULL,

         filename nchar(260) NULL,

         filegroup sysname NULL,

         size nvarchar(15) NULL,

         maxsize nvarchar(15) NULL,

         growth nvarchar(15) NULL,

         usage varchar(9) NULL);

     

    INSERT INTO #res

    EXEC sp_helpfile;

     

    SELECT *

    FROM #res;

     

    GO

    DROP TABLE #res;

     


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 30. Juni 2010 08:35

Alle Antworten

  • Hallo Michael,

    Select * FROM SP geht nicht. Du könntest die SP in eine Table Valued Function ändern, mit der geht es.

    Andere Option ist, eine (temporäre) Tabelle zu erstellen, die genau dem Ausgabe-Tabelle der SP entspricht. Dort kannst Du das Ergebnis einfügen lassen.
    Beispiel:

    CREATE TABLE #res

        (name sysname NULL,

         fileid smallint NULL,

         filename nchar(260) NULL,

         filegroup sysname NULL,

         size nvarchar(15) NULL,

         maxsize nvarchar(15) NULL,

         growth nvarchar(15) NULL,

         usage varchar(9) NULL);

     

    INSERT INTO #res

    EXEC sp_helpfile;

     

    SELECT *

    FROM #res;

     

    GO

    DROP TABLE #res;

     


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 30. Juni 2010 08:35
  • Hallo Olaf,

    das funktioniert. Vielen Dank.

     

    Viele Grüße

    Michael

    Mittwoch, 30. Juni 2010 09:46