sql >> Base de Datos >  >> RDS >> Sqlserver

Exporte el conjunto de resultados del procedimiento almacenado a Excel en SSMS

Le sugiero que divida su procedimiento almacenado en dos procedimientos que, respectivamente, devuelvan una tabla separada y los llamen a diferentes hojas de trabajo.

Hay una variedad de formas de devolver datos a Excel usando SQL

Este es uno de mis favoritos del código de Joshua (no tiene que usar los parámetros):

  1. Seleccione la pestaña Datos en la cinta de Excel, luego, dentro del grupo Obtener datos externos, elija el menú desplegable "De otras fuentes". Luego elija "Desde Microsoft Query"

  2. En el cuadro emergente "Elegir fuente de datos", seleccione su servidor SQL y luego presione Aceptar.

  3. Cierre la ventana emergente "Agregar tablas" si es necesario.

  4. Haga clic en el botón "SQL" o seleccione Ver> SQL para abrir el editor emergente de SQL.

  5. Introduzca la siguiente sintaxis:{CALL myDatabaseName.dbo.myStoredProc (?, ?, ?)}

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

    Asegúrese de incluir las llaves onduladas alrededor de la declaración de llamada. Cada signo de interrogación (?) indica un parámetro. Si su procedimiento almacenado requiere más o menos parámetros, agregue o reste signos de interrogación según sea necesario.

  6. Pulse el botón Aceptar. Debería aparecer un cuadro de pregunta que diga "La consulta SQL no se puede representar gráficamente, ¿continuar de todos modos?", simplemente presione el botón Aceptar.

  7. Ahora se le pedirán parámetros de muestra para cada signo de interrogación que incluyó anteriormente. Introduzca valores de parámetros válidos para los datos que está consultando.

  8. Una vez que haya ingresado el último parámetro, debería obtener algunos resultados en Microsoft Query. Si se ven bien, cierre Microsoft Query.

  9. Ahora debería estar viendo una ventana emergente "Importar datos". Haga clic en el botón Propiedades, que abrirá la ventana emergente "Propiedades de conexión".

  10. Seleccione la pestaña Definición, luego seleccione el botón Parámetros. Ahora debería ver una ventana emergente de "Parámetros", donde puede conectar el parámetro a una celda específica.

  11. Seleccione Obtener el valor de la siguiente celda y luego conéctese a una celda apropiada en Excel que contendrá su parámetro, haciendo clic en el pequeño cuadro con la flecha.

  12. Si desea que los datos se actualicen cada vez que cambie la celda que contiene el parámetro, marque la casilla que dice "Actualizar automáticamente cuando cambie el valor de la celda"

  13. Continúe como arriba para los otros parámetros. Cuando haya terminado, haga clic en Aceptar para volver a la ventana emergente Propiedades de conexión. Haga clic en Aceptar para volver a la ventana emergente Importar datos y vuelva a hacer clic en Aceptar.

  14. Ahora debería tener algunos datos directamente de su procedimiento almacenado.

Terminará con información de conexión similar a:

Información de conexión

Y, si usa parámetros de la hoja, entonces, para mi ejemplo,