miércoles, 13 de mayo de 2015

Pasar Datos de Prodecimiento Almacenado a una Tabla Temporal o Variable Tabla

Posted by InfoTacticas Soluciones  |  No comments

Si un Procedimiento Almacenado devuelve como resultado un conjunto de registros obtenidos con SELECT, este resultado puede ser obtenido y utilizado dentro de otro procedimiento almacendado, para ello este resultado debe ser almacenado en una tabla temporal o una variable tabla que tenga la misma estructura de campos que el procedimiento almacenado a ejecutar devuelve.
A continuación se muestra un ejemplo de su uso. Espero les sirva.

--
--
---exec spr_ObtenerAgendaPorTipoContacto 2
-- Crear el Procedimiento almacenado
create procedure spr_ObtenerAgendaPorTipoContacto  
@Tipo varchar(2) 
as

 SELECT 1, 'VARGAS', 'DAVILA', 'CARLOS', '949685100', 'CE' -- Compañero Estudios
 UNION 
 SELECT 2, 'DURAND', 'ALVA', 'LUCIA', '949685002', 'CT' -- Compañero Trabajo
 UNION 
 SELECT 3, 'FLORES', 'CASTRO', 'CESAR', '949452200', 'CT' -- Compañero Trabajo
GO

-- CON TABLA TEMPORAL
CREATE TABLE #AgendaTemporal (
 Id INT, 
 ApePaterno VARCHAR(20), 
 ApeMaterno VARCHAR(20), 
 Nombres VARCHAR(30), 
 Telefono varchar(20),
 TipoContacto varchar(2)  
) -- crear tabla temporal

INSERT #AgendaTemporal (Id, ApePaterno, ApeMaterno, Nombres, Telefono, TipoContacto)
EXEC spr_ObtenerAgendaPorTipoContacto 'CT'

select Id, ApePaterno, ApeMaterno, Nombres, Telefono, TipoContacto 
from #AgendaTemporal

drop table #AgendaTemporal -- Eliminar la tabla temporal

-- CON VARIABLE TABLA
DECLARE @AgendaTemporal2 TABLE (Id INT, ApePaterno VARCHAR(20), 
 ApeMaterno VARCHAR(20), 
 Nombres VARCHAR(30), 
 Telefono varchar(20),
 TipoContacto varchar(2) 
) -- crear variable tabla

INSERT @AgendaTemporal2 (Id, ApePaterno, ApeMaterno, Nombres, Telefono, TipoContacto)
EXEC spr_ObtenerAgendaPorTipoContacto 'CE'

select Id, ApePaterno, ApeMaterno, Nombres, Telefono, TipoContacto 
from @AgendaTemporal2
--------------------------------
-------------------------------- 

Siempre es bueno mencionar las referencias de donde uno se guía para aprender, en este caso: https://fuentedeconocimientos.wordpress.com/2013/02/09/pasar-datos-de-procedimiento-almacenado-a-tabla-temporal/comment-page-1/

5/13/2015 03:15:00 p. m. Share:

0 comentarios:

Get updates in your email box
Complete the form below, and we'll send you the best coupons.

Deliver via FeedBurner
back to top