sql >> Database teknologi >  >> RDS >> Sqlserver

Eksporter gemt procedureresultatsæt til Excel i SSMS

Jeg foreslår, at du deler din lagrede procedure op i to procedurer, der hver især returnerer en separat tabel og får dem kaldt til forskellige arbejdsark.

Der er en række forskellige måder at returnere data til Excel ved hjælp af SQL

Her er min favorit fra kode af Joshua (du behøver ikke at bruge parametrene):

  1. Vælg fanen Data på Excels bånd, og vælg derefter rullemenuen "Fra andre kilder" i gruppen Hent eksterne data. Vælg derefter "Fra Microsoft Query"

  2. I pop-up-boksen "Vælg datakilde" skal du vælge din SQL-server og derefter trykke på OK.

  3. Luk pop op-vinduet "Tilføj tabeller" om nødvendigt.

  4. Klik på knappen "SQL", eller vælg Vis> SQL for at åbne SQL-pop-up-editoren.

  5. Indtast følgende syntaks:{CALL myDatabaseName.dbo.myStoredProc (?, ?, ?)}

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

    Sørg for at inkludere de snoede seler omkring opkaldserklæringen. Hvert spørgsmålstegn (?) angiver en parameter. Hvis din lagrede procedure kræver flere eller færre parametre, skal du tilføje eller trække spørgsmålstegn efter behov.

  6. Tryk på OK-knappen. En spørgsmålsboks skulle poppe op med at sige "SQL-forespørgsel kan ikke repræsenteres grafisk, fortsæt alligevel?", tryk bare på OK-knappen.

  7. Du vil nu blive bedt om eksempelparametre for hvert spørgsmålstegn, du inkluderede ovenfor. Indtast gyldige parameterværdier for de data, du forespørger på.

  8. Når du har indtastet den sidste parameter, skulle du få nogle resultater tilbage i Microsoft Query. Hvis de ser gode ud, skal du lukke Microsoft Query.

  9. Du skulle nu se på en "Importer data" pop-up. Klik på knappen Egenskaber, som åbner pop op-vinduet "Forbindelsesegenskaber".

  10. Vælg fanen Definition, og vælg derefter knappen Parameters. Du skulle nu se en "Parameters" pop-up, hvor du kan forbinde parameteren til en bestemt celle.

  11. Vælg Hent værdien fra følgende celle, og forbind derefter til en passende celle i Excel, der vil indeholde din parameter, ved at klikke på den lille boks med pilen.

  12. Hvis du ønsker, at dataene skal opdateres, hver gang du ændrer cellen, der indeholder parameteren, skal du markere afkrydsningsfeltet "Opdater automatisk, når celleværdien ændres"

  13. Fortsæt som ovenfor for de andre parametre. Når du er færdig, skal du klikke på OK for at vende tilbage til pop op-vinduet Forbindelsesegenskaber. Klik på OK for at vende tilbage til pop op-vinduet Importer data, og klik på OK igen.

  14. Du skulle nu have nogle data direkte fra din lagrede procedure.

Du vil ende med forbindelsesoplysninger svarende til:

Forbindelsesoplysninger

Og hvis du bruger parametre fra ark så, for mit eksempel,



  1. TO_DATE() Funktion i Oracle

  2. Sådan laver du punkt-i-tidsgendannelse af MySQL- og MariaDB-data ved hjælp af ClusterControl

  3. Kan ikke installere PostgreSQL:Der opstod en fejl under udførelse af Microsoft VC++ runtime installationsprogrammet på Windows XP

  4. Sådan returneres oracle-outputparametre fra en lagret procedure i .NET