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

Esporta il set di risultati della stored procedure in Excel in SSMS

Ti suggerisco di dividere la tua procedura memorizzata in due procedure che restituiscono rispettivamente una tabella separata e quelle chiamate a fogli di lavoro diversi.

Esistono diversi modi per restituire i dati a Excel utilizzando SQL

Ecco un mio preferito dal codice di Joshua (non è necessario utilizzare i parametri):

  1. Seleziona la scheda Dati sulla barra multifunzione di Excel, quindi all'interno del gruppo Ottieni dati esterni scegli il menu a discesa "Da altre fonti". Quindi scegli "Da Microsoft Query"

  2. Nella casella a comparsa "Scegli origine dati", seleziona il tuo SQL Server, quindi premi OK.

  3. Se necessario, chiudi il popup "Aggiungi tabelle".

  4. Fai clic sul pulsante "SQL" o scegli Visualizza> SQL per aprire l'editor pop-up SQL.

  5. Immettere la seguente sintassi:{CALL myDatabaseName.dbo.myStoredProc (?, ?, ?)}

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

    Assicurati di includere le parentesi graffe attorno all'istruzione di chiamata. Ogni punto interrogativo (?) indica un parametro. Se la tua procedura memorizzata richiede più o meno parametri, aggiungi o sottrai punti interrogativi secondo necessità.

  6. Premi il pulsante OK. Dovrebbe apparire una finestra di domanda che dice "La query SQL non può essere rappresentata graficamente, continuare comunque?", basta premere il pulsante OK.

  7. Ora ti verranno richiesti parametri di esempio per ogni punto interrogativo che hai incluso sopra. Inserisci valori di parametro validi per i dati che stai interrogando.

  8. Dopo aver inserito l'ultimo parametro, dovresti ottenere alcuni risultati in Microsoft Query. Se hanno un bell'aspetto, chiudi Microsoft Query.

  9. Ora dovresti visualizzare un pop-up "Importa dati". Fai clic sul pulsante Proprietà, che farà apparire il popup "Proprietà di connessione".

  10. Seleziona la scheda Definizione, quindi seleziona il pulsante Parametri. Ora dovresti vedere un pop-up "Parametri", in cui puoi collegare il parametro a una cella specifica.

  11. Seleziona Ottieni il valore dalla cella seguente, quindi connettiti a una cella appropriata in Excel che conterrà il tuo parametro, facendo clic sulla casetta con la freccia.

  12. Se desideri che i dati si aggiornino ogni volta che modifichi la cella contenente il parametro, seleziona la casella "Aggiorna automaticamente quando il valore della cella cambia"

  13. Continuare come sopra per gli altri parametri. Al termine, fare clic su OK per tornare al popup Proprietà connessione. Fare clic su OK per tornare al popup Importa dati e fare nuovamente clic su OK.

  14. Ora dovresti avere alcuni dati direttamente dalla tua procedura memorizzata.

Ti ritroverai con informazioni di connessione simili a:

Informazioni sulla connessione

E, se usi i parametri del foglio, per il mio esempio,