INSERT EXEC en SQL Server

admin

July 27, 2011

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:

  1. Debemos conocer el resultado del procedimiento almacenado.
  2. Crearemos una tabla (permanete, temporal o variable, según nuestras necesidades y objetivos).
  3. 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?

Related Posts

CURRENT_IDENT y RESEED en Sql Server Compact Edition

admin

April 21, 2018

SQL SERVER

Sql Server Compact Edition no cuenta con funciones como RESEED o CURRENT_IDENT, así que tenemos que hechar mano de consultas a la información de esquema y de alteración de tablas. Como sustituto a IDENT_CURRENT tenemos: Y como sustituto a RESEED tenemos que alterar la tabla: No es tan complejo ciertamente, y útil para lidiar con […]

Read More

Conexión a Sql Server con Php 5.6 linux CentOS 6

admin

March 28, 2016

PHP, SQL SERVER

Para conectarse a Sql Server desde linux utilizamos este comando para instalar el driver: Por ejemplo, para php5.6: Esta instrucción instala freetds, una colección de librerias para conectarnos con Sql Server desde linux. Con esta librería no solo podemos conectarnos desde Php, sino desde la linea de comandos, con el programa tsql. Después de instalar, […]

Read More