Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Exportieren Sie die Ergebnismenge gespeicherter Prozeduren in SSMS nach Excel

Ich schlage vor, Sie teilen Ihre gespeicherte Prozedur in zwei Prozeduren auf, die jeweils eine separate Tabelle zurückgeben und diese in verschiedenen Arbeitsblättern aufrufen.

Es gibt verschiedene Möglichkeiten, Daten mit SQL

an Excel zurückzugeben

Hier ist ein Favorit von mir aus dem Code von Joshua (Sie müssen die Parameter nicht verwenden):

  1. Wählen Sie die Registerkarte „Daten“ in der Multifunktionsleiste von Excel und dann in der Gruppe „Externe Daten abrufen“ die Dropdown-Liste „Aus anderen Quellen“. Wählen Sie dann "Aus Microsoft Query"

  2. Wählen Sie im Popup-Fenster "Datenquelle auswählen" Ihren SQL-Server aus und klicken Sie dann auf OK.

  3. Schließen Sie ggf. das Popup "Tabellen hinzufügen".

  4. Klicken Sie auf die Schaltfläche "SQL" oder wählen Sie Ansicht> SQL, um den SQL-Popup-Editor zu öffnen.

  5. Geben Sie die folgende Syntax ein:{CALL myDatabaseName.dbo.myStoredProc (?, ?, ?)}

    Beispiel:{CALL northwind.dbo.spGetMaxCost (?, ?, ?)}

    Stellen Sie sicher, dass Sie die verschnörkelten Klammern um die Aufrufanweisung einfügen. Jedes Fragezeichen (?) zeigt einen Parameter an. Wenn Ihre gespeicherte Prozedur mehr oder weniger Parameter erfordert, können Sie nach Bedarf Fragezeichen hinzufügen oder entfernen.

  6. Klicken Sie auf die Schaltfläche OK. Ein Fragefeld sollte erscheinen und sagen:„SQL-Abfrage kann nicht grafisch dargestellt werden, trotzdem fortfahren?“, klicken Sie einfach auf die Schaltfläche „OK“.

  7. Sie werden nun für jedes Fragezeichen, das Sie oben angegeben haben, nach Beispielparametern gefragt. Geben Sie gültige Parameterwerte für die abzufragenden Daten ein.

  8. Nachdem Sie den letzten Parameter eingegeben haben, sollten Sie einige Ergebnisse in Microsoft Query zurückerhalten. Wenn sie gut aussehen, schließen Sie Microsoft Query.

  9. Sie sollten jetzt ein Popup-Fenster "Daten importieren" sehen. Klicken Sie auf die Schaltfläche Eigenschaften, um das Popup-Fenster "Verbindungseigenschaften" aufzurufen.

  10. Wählen Sie die Registerkarte Definition und dann die Schaltfläche Parameter aus. Sie sollten nun ein „Parameter“-Popup sehen, in dem Sie den Parameter mit einer bestimmten Zelle verbinden können.

  11. Wählen Sie Wert aus der folgenden Zelle abrufen und stellen Sie dann eine Verbindung zu einer geeigneten Zelle in Excel her, die Ihren Parameter enthalten wird, indem Sie auf das kleine Kästchen mit dem Pfeil klicken.

  12. Wenn Sie möchten, dass die Daten jedes Mal aktualisiert werden, wenn Sie die Zelle mit dem Parameter ändern, aktivieren Sie das Kontrollkästchen „Automatisch aktualisieren, wenn sich der Zellenwert ändert“

  13. Fahren Sie mit den anderen Parametern wie oben fort. Wenn Sie fertig sind, klicken Sie auf OK, um zum Popup-Fenster Verbindungseigenschaften zurückzukehren. Klicken Sie auf „OK“, um zum Popup-Fenster „Daten importieren“ zurückzukehren, und klicken Sie erneut auf „OK“.

  14. Sie sollten jetzt einige Daten direkt aus Ihrer gespeicherten Prozedur haben.

Am Ende erhalten Sie Verbindungsinformationen ähnlich wie:

Verbindungsinfo

Und wenn Sie Parameter aus dem Blatt verwenden, dann, für mein Beispiel,