Rellenar tabla a partir de Stored Procedure en SQL Server

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

1 comentario en «Rellenar tabla a partir de Stored Procedure en SQL Server»

  1. 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

    Responder

Deja un comentario

Pin It on Pinterest