none
INSERT EXEC aus Stored Procedure nicht für alle Spalten RRS feed

  • Frage

  • Hi,

    bei "INSERT INTO <MyTable> EXEC <MyStoredProc>" muss die Spaltendefinition von <MyTable> ja der Ausgabe von <MyStoredProc> entsprechen.

    Gibt es jedoch eine Möglichkeit, nur ein Teil der Spalten des Resultsets der Stored Proc in die Tabelle einzufügen? Ich habe hier eine SP mit 50 Ergebnisspalten, brauche aber davon nur 3 Spalten, die ich nach <MyTable> übernehmen möchte. Geht das?

    Vielen Dank schon mal.

    Franz

    Mittwoch, 16. März 2016 12:40

Antworten

  • Hallo Franz,

    so direkt geht es nicht. Aber Du könntest den SQL Server als Linked Server anlegen und dann die Stored Procedure über OpenQuery aufrufen und dabei im SELECT die gewünschten Spalten angeben.

    Beispiel: Ich habe eine Instanz SQLEXPRESS, die unter gleichen Namen als Linked Server angelegt ist, darüber rufe ich dann eine SP aus.

    SELECT COLUMN_NAME
    FROM OPENQUERY([.\SQLEXPRESS], 'EXEC [sys].[sp_columns] ''spt_values''') AS SUB


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert FranzMoll Mittwoch, 16. März 2016 13:21
    Mittwoch, 16. März 2016 13:13