Insertando el resultado de un Stored Procedure en una tabla

Otra vez comento, que normalmente con un Stored Procedure (Procedimiento almancenado) lo que hago es obtener un conjunto de datos como resultado, nunca había tenido la fozosa necesidad de meter este resultado en una tabla para retrabajarlo.

Bien pues no hay día que no llegue ni plazo que no se cumpla, y me encontre en la situación de tener 3 Stored Procedures diferentes, la información resultante de cada uno, necesitaba meterla en una tabla para entonces realizar otro proceso con esta. Dada la situación, tendría algunas opciones:

  1. Ejecutar uno a uno los Stored Procedures y copiar y pegar el resultado de cada uno en un excel, concentrar la información y subirla a sql a una tabla para entonces empezar con el segundo proceso. Claramente esta opción sería un dolor de trasero, mucho trabajo manual, mucho tiempo invertido.
  2. Dentro de cada Stored Procedure, hacer que la información en lugar de ir a pantalla fuera a una tabla física temporal, una vez teniendo las tres tablas, podría generar un tercer Store Procedure que concentrara la información en una sola tabla. Mucho mejor, sin embargo, la información obtenida de estos Stored Procedures ya se utiliza para un proceso totalmente diferente en el que se requiere la información en pantalla, por lo que el cambio de los mismos resulta imposible y la unica opcion sería tener un SP nuevo cuya unica diferencia sea que pase la info a una tabla.
  3. Se me ocurrió como tercera opción, el ejecutar mis SP y con un insert llevarlos a una tabla. Perfecto!! pero ¿como?

Bueno pues esto nunca lo había hecho antes, pero investigue un poco y encontre un valioso INSERT INTO, cuya sintaxis sería algo asi como:

INSERT INTO <Nombre_Tabla> exec <Stored Procedure>

Entendiendose siempre que los campos de consulta deben ser igualitos y estar en el mismo orden que los campos en la tabla donde se insertará.

Ahora dejo aqui unas ligas de referencia donde hay muy buenas opciones para hacer esto en otras circunstancias.

Página en Microsoft

OpenQuery

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s