INSERT EXEC en SQL Server
Para insertar el resultado de un procedimiento almacenado que consulta una tabla en otra tabla, echamos mano de la instruccion INSERT y la instrucción EXEC, de la siguiente manera:
- Debemos conocer el resultado del procedimiento almacenado.
- Crearemos una tabla (permanete, temporal o variable, según nuestras necesidades y objetivos).
- Insertaremos el resultado.
Por ejemplo: sp_tables nos regresa el listado de tablas de la base de datos actual y su estructura es:
- TABLE_QUALIFIER
- TABLE_OWNER
- TABLE_NAME
- TABLE_TYPE
- REMARKS
Crearemos una tabla temporal para insertar el resultado
CREATE TABLE #Temp
(
TABLE_QUALIFIER varchar(50),
TABLE_OWNER varchar(50),
TABLE_NAME varchar(50),
TABLE_TYPE varchar(50),
REMARKS varchar(250)
)
Insertaremos directamente el resultado del procedimiento almacenado:
INSERT #Temp EXEC sp_tables
Y listo, podemos utilizar la tabla obtenida del procedimiento almacenado.
SELECT * FROM #Temp
¿Sencillo verdad?
admin
July 27, 2011
SQL SERVER
No Comment