Programando en Transact SQL es probable que en algunas ocasiones nos sea más cómodo cargar la consulta que devuelve un stored procedure en una tabla, o bien, reutilizar un stored procedure que ya contiene la consulta que necesitamos, insertándolo en una tabla.
Para ello, rellenar tabla a partir de Stored Procedure en SQL Server es tan sencillo como esto.
Para empezar, tras crear el Stored Procedure – si no lo estaba ya-, se debe crear la tabla (si no existe ya) cuyos campos sean compatibles con los tipos de datos que devuelve el Stored Procedure. Esta tabla puede ser temporal o estar creada en la base de datos. El orden de los campos debe ser el mismo que los del procedimiento.
CREATE TABLE #TempTable ( field1 int NOT NULL PRIMARY KEY, field2 varchar(10) NULL, field3 varchar(15) NULL );
A continuación, ya se puede insertar en esta tabla, los resultados que devuelva el Stored Procedure que se desee ejecutar.
INSERT INTO #TempTable Exec dbo.Nombre_del_stored @PARAM1, @PARAM2
Una vez ejecutada esta sentencia, ya se encontrarán todos los registros insertados en la tabla y se podrá trabajar directamente sobre ella.
Si se ha utilizado una tabla temporal, hay que recordar borrarla al terminar.
DROP TABLE #TempTable
Estimados:
Existe alguna manera de llenar VARIAS TABLAS. Un SP puede devolver varias consultas… seria posible hacer algo parecido a esto:
INSERT INTO #TempTable1, #TempTable2… Exec dbo.Nombre_del_stored @PARAM1, @PARAM2
Gracias por su ayuda