Obtener Recordset desde SP

22/07/2008 - 13:44 por DiegoC | Informe spam
Hola Grupo querria hacer una consulta.

alguien sabe como puedo hacer para meter los datos que me da un SP en tablas
temporales.

Osea el SP1

Me devuelve:
Record1
Record2

Como puedo hacer para que me queden en
#tab1
#tab2

Para poder manipular la informacion.

Desde ya muchas gracias
y Saludos a todos.

Diego

Preguntas similare

Leer las respuestas

#1 Ricardo Junquera
22/07/2008 - 14:06 | Informe spam
Hola

¿Te puede servir usar una funcion que devuelva un tipo table?:

"Las funciones en línea definidas por el usuario son un subconjunto de
funciones definidas por el usuario que devuelven un tipo de datos table."

USE AdventureWorks;
GO
CREATE FUNCTION Sales.ufn_CustomerNamesInRegion
( @Region nvarchar(50) )
RETURNS table
AS
RETURN (
SELECT DISTINCT S.Name AS Store, A.City
FROM Sales.Store AS S
JOIN Sales.CustomerAddress AS CA ON CA.CustomerID = S.CustomerID
JOIN Person.Address AS A ON A.AddressID = CA.AddressID
JOIN Person.StateProvince SP ON
SP.StateProvinceID = A.StateProvinceID
WHERE SP.Name = @Region
)
GO
SELECT *
FROM Sales.ufn_CustomerNamesInRegion(N'Washington')
GO



Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"DiegoC" wrote:

Hola Grupo querria hacer una consulta.

alguien sabe como puedo hacer para meter los datos que me da un SP en tablas
temporales.

Osea el SP1

Me devuelve:
Record1
Record2

Como puedo hacer para que me queden en
#tab1
#tab2

Para poder manipular la informacion.

Desde ya muchas gracias
y Saludos a todos.

Diego



Respuesta Responder a este mensaje
#2 DiegoC
22/07/2008 - 14:46 | Informe spam
Hola Ricardo

Ante todo muchas gracias por tu ayuda, el tema es que una funcion no me
sirve porque este SP, me devuelve 2 Recordset que en realidad son Tabla
Cabecera, Table Detalle, y las funciones creo que solo pueden devolver 1
tabla.

Desde ya muchas gracias y espero si alguien encuentra alguna solucion.

Saludos Diego


"Ricardo Junquera" escribió en
el mensaje news:
Hola

¿Te puede servir usar una funcion que devuelva un tipo table?:

"Las funciones en línea definidas por el usuario son un subconjunto de
funciones definidas por el usuario que devuelven un tipo de datos table."

USE AdventureWorks;
GO
CREATE FUNCTION Sales.ufn_CustomerNamesInRegion
( @Region nvarchar(50) )
RETURNS table
AS
RETURN (
SELECT DISTINCT S.Name AS Store, A.City
FROM Sales.Store AS S
JOIN Sales.CustomerAddress AS CA ON CA.CustomerID = S.CustomerID
JOIN Person.Address AS A ON A.AddressID = CA.AddressID
JOIN Person.StateProvince SP ON
SP.StateProvinceID = A.StateProvinceID
WHERE SP.Name = @Region
)
GO
SELECT *
FROM Sales.ufn_CustomerNamesInRegion(N'Washington')
GO



Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"DiegoC" wrote:

Hola Grupo querria hacer una consulta.

alguien sabe como puedo hacer para meter los datos que me da un SP en
tablas
temporales.

Osea el SP1

Me devuelve:
Record1
Record2

Como puedo hacer para que me queden en
#tab1
#tab2

Para poder manipular la informacion.

Desde ya muchas gracias
y Saludos a todos.

Diego



Respuesta Responder a este mensaje
#3 DiegoC
22/07/2008 - 15:58 | Informe spam
A ver por otro lado, si a alguien se le ocurre como hacerlo por medio de
SSIS

Ya que lo que tengo que hacer es lo siguiente:

El SP, lo que me devuelve es un Recorset de Tabla (A1,A2,A3), y otro
Tabla _It (A1,B1,B2)
Lo que tengo que lograr es armar un archivo plano para pasarle a otro
sistema que espera un txt con lo siguiente:
A1,A2,A3,B1,B2 (son tantos registros como registros tiene Tabla_It.

Desde ya muchas gracias.

Saludos, Diego



"DiegoC" escribió en el mensaje
news:e%233yID$
Hola Grupo querria hacer una consulta.

alguien sabe como puedo hacer para meter los datos que me da un SP en
tablas
temporales.

Osea el SP1

Me devuelve:
Record1
Record2

Como puedo hacer para que me queden en
#tab1
#tab2

Para poder manipular la informacion.

Desde ya muchas gracias
y Saludos a todos.

Diego


Respuesta Responder a este mensaje
#4 Penta
22/07/2008 - 16:44 | Informe spam
Hola DiegoC
Vengo llegando asi que no estoy pensando del todo.
Algo rápido y para salir del paso:

Supongamos que el pirmer Select te devuelve:
a1,a2,a3,a4

Y el 2do Select te devuelve:
b1,b2,b3,b4

Que tal si te armas una sola temporal con todos esos campos ??
Donde campo Qry te indicaría de cual qry viene.

QRY a1 a2 a3 a4 b1 b2 b3 b4
1 X F R C NULL NULL NULL NULL
2 NULL NULL NULL NULL F R W Q


Bueno, eso, me tomare un cafe y haber si pienso en algo mas :)

Un saludo.
Penta.
Respuesta Responder a este mensaje
#5 DiegoC
22/07/2008 - 17:06 | Informe spam
mmm, lo que pasa es que yo no puedo manejar la devolucion del SP que me
devuelve esto, un breve resumen este es un SP al que yo llamo de un servidor
remoto y me devuelve en el Primer Recordset la Cabecera su su tabla de para
Facturar, en el Segundo el Detalle de su tabla para facturar.
Yo lo que tengo que hacer para generar el TXT que necesita el Prg Facturador
es mesclar cada Item del Detalle con su Cabecera.

Ej:
Tabla Cab
Id Dato1 Dato2
1 Diego 22.000.000
2 Pepe 18.236.363

Tabla Det
Id Articulo Cant
1 A 1
1 B 3
1 C 3
2 A 1
2 D 2

Entonce tengo que generar un salida.txt
1 Diego 22.000.000 A 1
1 Diego 22.000.000 B 3
1 Diego 22.000.000 C 3
2 Pepe 18.236.363 A 1
2 Pepe 18.236.363 D 2

Y queiro ver si lo puedo armar en un SP o SSIS y no en una Aplicacion

Sino tendria que desde VB, o algun lenguaje, abrir un Recorset, moverme con
MoveRecordset y armarlo todo ahi.

Desde ya muchas gracias por tu Ayuda

Saludos, Diego

Saludos, Diego

"Penta" escribió en el mensaje
news:
Hola DiegoC
Vengo llegando asi que no estoy pensando del todo.
Algo rápido y para salir del paso:

Supongamos que el pirmer Select te devuelve:
a1,a2,a3,a4

Y el 2do Select te devuelve:
b1,b2,b3,b4

Que tal si te armas una sola temporal con todos esos campos ??
Donde campo Qry te indicaría de cual qry viene.

QRY a1 a2 a3 a4 b1 b2 b3 b4
1 X F R C NULL NULL NULL NULL
2 NULL NULL NULL NULL F R W Q


Bueno, eso, me tomare un cafe y haber si pienso en algo mas :)

Un saludo.
Penta.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida