Declare cursor con SP

21/07/2006 - 23:40 por Juan Carlos Flores | Informe spam
Necesito crear un cursor para recorrerlo, pero deso usar un SP que ya
tengo para crearlo, como lo hago ?


Declare miCursor Cursro for SELECT


Quiero reemplazar el SELECT por un SP que recibe parametros.


SALUDOS



JCF

Preguntas similare

Leer las respuestas

#11 Juan Carlos Flores
25/07/2006 - 23:19 | Informe spam
No me ha funcionado he hecho lo siguiente :


Create Table #TT (Item nVarchar(10), OProd nVarchar(10), Lbs
Numeric(12,2), Qty Int, Lib Bit, Qua Bit, Cond Bit)

Insert #TT Execute sp_getPaletContain @nIDPalet, @cpalet

select * from #TT
drop table #TT



El insert no me funciona, lo demas si. puedo meter la tabla en una
variable tipo cursor, pero me da vacia por que no funciona el cursor.

Saludos.


JCF


Juan Carlos Flores escribió:
Carlos, voy a probarlo ahorita mismo, muchas gracias.


Saludos



JCF

Carlos Sacristán escribió:
Suponiendo que el primer procedimiento almacenado devuelve dos
columnas
(A y B), un ejemplo para manejar estos resultados sería:

***************************************************************

datos
que lo que devuelve el primer procedimiento
CREATE TABLE #t ...

INSERT #t
EXECUTE el_primer_procedimiento @param1=

de la
tabla temporal creada

***************************************************************

Espero haberme explicado

Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores" escribió
en el
mensaje news:#
Me podrías ampliar mas el como hacerlo ? Porque no debo modificar el
primer SP, se puede sin hacer eso ?

Saludos


jCF

Carlos Sacristán escribió:
¿No puedes insertar el resultado de ese primer procedimiento en una
tabla temporal y manejar los resultados en el cursor que comentas?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores"
escribió en




el
mensaje news:e$
Bien, tengo un SP que me devuelve un cursor, ese SP lo uso en unos
procedimientos en .net, y lleva buena cantidad de codigo el SP en
mención. Resulta que ahora en otro SP necesito usar el cursor generado
por el primer SP, recorrer sus datos, y no se como hacer para cargar






ese
cursor sin tener que usar poner el select del primer dentro del






segundo,
ademas por mantenimiento de codigo es un problema.

Espero haberme explicado.


Saludos


JCF

Gustavo Larriera (MVP) escribió:
No entiendo en detalle lo que intentas hacer. De todas formas
entiendo




que
si usas variables de tipo CURSOR puede ser útil para lo que dices.

Tal vez si explicas con más nivel de detalle tu problema concreto, te
podamos ayudar mejor.












Respuesta Responder a este mensaje
#12 Carlos Sacristán
26/07/2006 - 08:36 | Informe spam
¿Y por qué no te funciona? ¿Lanza algún error?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores" escribió en el
mensaje news:
No me ha funcionado he hecho lo siguiente :


Create Table #TT (Item nVarchar(10), OProd nVarchar(10), Lbs
Numeric(12,2), Qty Int, Lib Bit, Qua Bit, Cond Bit)

Insert #TT Execute sp_getPaletContain @nIDPalet, @cpalet

select * from #TT
drop table #TT



El insert no me funciona, lo demas si. puedo meter la tabla en una
variable tipo cursor, pero me da vacia por que no funciona el cursor.

Saludos.


JCF


Juan Carlos Flores escribió:
> Carlos, voy a probarlo ahorita mismo, muchas gracias.
>
>
> Saludos
>
>
>
> JCF
>
> Carlos Sacristán escribió:
>> Suponiendo que el primer procedimiento almacenado devuelve dos
>> columnas
>> (A y B), un ejemplo para manejar estos resultados sería:
>>
>> ***************************************************************
>>
>> datos
>> que lo que devuelve el primer procedimiento
>> CREATE TABLE #t ...
>>
>> INSERT #t
>> EXECUTE el_primer_procedimiento @param1=
>>
>> de la
>> tabla temporal creada
>>
>> ***************************************************************
>>
>> Espero haberme explicado
>>
>> Un saludo
>>
>> -
>> "Sólo sé que no sé nada. " (Sócrates)
>>
>> "Juan Carlos Flores" escribió
>> en el
>> mensaje news:#
>>> Me podrías ampliar mas el como hacerlo ? Porque no debo modificar el
>>> primer SP, se puede sin hacer eso ?
>>>
>>> Saludos
>>>
>>>
>>> jCF
>>>
>>> Carlos Sacristán escribió:
>>>> ¿No puedes insertar el resultado de ese primer procedimiento en


una
>>>> tabla temporal y manejar los resultados en el cursor que comentas?
>>>>
>>>>
>>>> Un saludo
>>>>
>>>> -
>>>> "Sólo sé que no sé nada. " (Sócrates)
>>>>
>>>> "Juan Carlos Flores"
>>>> escribió en
>> el
>>>> mensaje news:e$
>>>>> Bien, tengo un SP que me devuelve un cursor, ese SP lo uso en unos
>>>>> procedimientos en .net, y lleva buena cantidad de codigo el SP en
>>>>> mención. Resulta que ahora en otro SP necesito usar el cursor


generado
>>>>> por el primer SP, recorrer sus datos, y no se como hacer para cargar
>> ese
>>>>> cursor sin tener que usar poner el select del primer dentro del
>> segundo,
>>>>> ademas por mantenimiento de codigo es un problema.
>>>>>
>>>>> Espero haberme explicado.
>>>>>
>>>>>
>>>>> Saludos
>>>>>
>>>>>
>>>>> JCF
>>>>>
>>>>> Gustavo Larriera (MVP) escribió:
>>>>>> No entiendo en detalle lo que intentas hacer. De todas formas
>>>>>> entiendo
>>>> que
>>>>>> si usas variables de tipo CURSOR puede ser útil para lo que dices.
>>>>>>
>>>>>> Tal vez si explicas con más nivel de detalle tu problema concreto,


te
>>>>>> podamos ayudar mejor.
>>>>>>
>>>>
>>
>>
Respuesta Responder a este mensaje
#13 Carlos Sacristán
26/07/2006 - 14:39 | Informe spam
Es complicado ayudarte si no posteas el script de los procedimientos
involucrados...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores" escribió en el
mensaje news:
Gracias Carlos por la atencion que me has dado.


Me da el mensaje:

Msg 8152, Level 16, State 6, Procedure sp_getPaletContain, Line 30
String or binary data would be truncated.

(1 row(s) affected)



Si ejecuto solo el SP involucrado me da resultados correctos, que
debería ser lo mismo en este otro, que es solamente una prueba en este
caso, para luego implementarlo en donde si me urge, y es donde espero
poder tabajar con el cursor resultante.


Saludos



JCF


Carlos Sacristán escribió:
> ¿Y por qué no te funciona? ¿Lanza algún error?
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Juan Carlos Flores" escribió en


el
> mensaje news:
>> No me ha funcionado he hecho lo siguiente :
>>
>>
>> Create Table #TT (Item nVarchar(10), OProd nVarchar(10), Lbs
>> Numeric(12,2), Qty Int, Lib Bit, Qua Bit, Cond Bit)
>>
>> Insert #TT Execute sp_getPaletContain @nIDPalet, @cpalet
>>
>> select * from #TT
>> drop table #TT
>>
>>
>>
>> El insert no me funciona, lo demas si. puedo meter la tabla en una
>> variable tipo cursor, pero me da vacia por que no funciona el cursor.
>>
>> Saludos.
>>
>>
>> JCF
>>
>>
>> Juan Carlos Flores escribió:
>>> Carlos, voy a probarlo ahorita mismo, muchas gracias.
>>>
>>>
>>> Saludos
>>>
>>>
>>>
>>> JCF
>>>
>>> Carlos Sacristán escribió:
>>>> Suponiendo que el primer procedimiento almacenado devuelve dos
>>>> columnas
>>>> (A y B), un ejemplo para manejar estos resultados sería:
>>>>
>>>> ***************************************************************
>>>>
>>>> datos
>>>> que lo que devuelve el primer procedimiento
>>>> CREATE TABLE #t ...
>>>>
>>>> INSERT #t
>>>> EXECUTE el_primer_procedimiento @param1=
>>>>
>>>> de la
>>>> tabla temporal creada
>>>>
>>>> ***************************************************************
>>>>
>>>> Espero haberme explicado
>>>>
>>>> Un saludo
>>>>
>>>> -
>>>> "Sólo sé que no sé nada. " (Sócrates)
>>>>
>>>> "Juan Carlos Flores" escribió
>>>> en el
>>>> mensaje news:#
>>>>> Me podrías ampliar mas el como hacerlo ? Porque no debo modificar el
>>>>> primer SP, se puede sin hacer eso ?
>>>>>
>>>>> Saludos
>>>>>
>>>>>
>>>>> jCF
>>>>>
>>>>> Carlos Sacristán escribió:
>>>>>> ¿No puedes insertar el resultado de ese primer procedimiento en
> una
>>>>>> tabla temporal y manejar los resultados en el cursor que comentas?
>>>>>>
>>>>>>
>>>>>> Un saludo
>>>>>>
>>>>>> -
>>>>>> "Sólo sé que no sé nada. " (Sócrates)
>>>>>>
>>>>>> "Juan Carlos Flores"
>>>>>> escribió en
>>>> el
>>>>>> mensaje news:e$
>>>>>>> Bien, tengo un SP que me devuelve un cursor, ese SP lo uso en unos
>>>>>>> procedimientos en .net, y lleva buena cantidad de codigo el SP en
>>>>>>> mención. Resulta que ahora en otro SP necesito usar el cursor
> generado
>>>>>>> por el primer SP, recorrer sus datos, y no se como hacer para


cargar
>>>> ese
>>>>>>> cursor sin tener que usar poner el select del primer dentro del
>>>> segundo,
>>>>>>> ademas por mantenimiento de codigo es un problema.
>>>>>>>
>>>>>>> Espero haberme explicado.
>>>>>>>
>>>>>>>
>>>>>>> Saludos
>>>>>>>
>>>>>>>
>>>>>>> JCF
>>>>>>>
>>>>>>> Gustavo Larriera (MVP) escribió:
>>>>>>>> No entiendo en detalle lo que intentas hacer. De todas formas
>>>>>>>> entiendo
>>>>>> que
>>>>>>>> si usas variables de tipo CURSOR puede ser útil para lo que


dices.
>>>>>>>>
>>>>>>>> Tal vez si explicas con más nivel de detalle tu problema


concreto,
> te
>>>>>>>> podamos ayudar mejor.
>>>>>>>>
>>>>
>
>
Respuesta Responder a este mensaje
#14 Juan Carlos Flores
26/07/2006 - 15:22 | Informe spam
Gracias Carlos por la atencion que me has dado.


Me da el mensaje:

Msg 8152, Level 16, State 6, Procedure sp_getPaletContain, Line 30
String or binary data would be truncated.

(1 row(s) affected)



Si ejecuto solo el SP involucrado me da resultados correctos, que
debería ser lo mismo en este otro, que es solamente una prueba en este
caso, para luego implementarlo en donde si me urge, y es donde espero
poder tabajar con el cursor resultante.


Saludos



JCF


Carlos Sacristán escribió:
¿Y por qué no te funciona? ¿Lanza algún error?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores" escribió en el
mensaje news:
No me ha funcionado he hecho lo siguiente :


Create Table #TT (Item nVarchar(10), OProd nVarchar(10), Lbs
Numeric(12,2), Qty Int, Lib Bit, Qua Bit, Cond Bit)

Insert #TT Execute sp_getPaletContain @nIDPalet, @cpalet

select * from #TT
drop table #TT



El insert no me funciona, lo demas si. puedo meter la tabla en una
variable tipo cursor, pero me da vacia por que no funciona el cursor.

Saludos.


JCF


Juan Carlos Flores escribió:
Carlos, voy a probarlo ahorita mismo, muchas gracias.


Saludos



JCF

Carlos Sacristán escribió:
Suponiendo que el primer procedimiento almacenado devuelve dos
columnas
(A y B), un ejemplo para manejar estos resultados sería:

***************************************************************

datos
que lo que devuelve el primer procedimiento
CREATE TABLE #t ...

INSERT #t
EXECUTE el_primer_procedimiento @param1=

de la
tabla temporal creada

***************************************************************

Espero haberme explicado

Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores" escribió
en el
mensaje news:#
Me podrías ampliar mas el como hacerlo ? Porque no debo modificar el
primer SP, se puede sin hacer eso ?

Saludos


jCF

Carlos Sacristán escribió:
¿No puedes insertar el resultado de ese primer procedimiento en










una
tabla temporal y manejar los resultados en el cursor que comentas?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores"
escribió en




el
mensaje news:e$
Bien, tengo un SP que me devuelve un cursor, ese SP lo uso en unos
procedimientos en .net, y lleva buena cantidad de codigo el SP en
mención. Resulta que ahora en otro SP necesito usar el cursor












generado
por el primer SP, recorrer sus datos, y no se como hacer para cargar






ese
cursor sin tener que usar poner el select del primer dentro del






segundo,
ademas por mantenimiento de codigo es un problema.

Espero haberme explicado.


Saludos


JCF

Gustavo Larriera (MVP) escribió:
No entiendo en detalle lo que intentas hacer. De todas formas
entiendo




que
si usas variables de tipo CURSOR puede ser útil para lo que dices.

Tal vez si explicas con más nivel de detalle tu problema concreto,














te
podamos ayudar mejor.


















Respuesta Responder a este mensaje
#15 Juan Carlos Flores
26/07/2006 - 16:07 | Informe spam
En realidad no se ya que poner, aca te copio todo el SP del cual espero
obtener columnas con datos... las columnas las obtengo, pero sin datos,
porque el problema lo tengo en el INSERT a través de un SP. Si pongo al
linea del insert como comentario ya no me da error en la ejecucion. Hal
hacer PARSE del codigo, no me da error, el error es solo al ejecutarlo.
Lo malo es que no comprendo el mensaje que significa o porque sucede y
como solucionarlo.





set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

@cPalet nVarchar(10),
@nIDPalet int

AS
BEGIN
SET NOCOUNT ON;

Create Table #TT (Item nVarchar(10), OProd nVarchar(10), Lbs
Numeric(12,2), Qty Int, Lib Bit, Qua Bit, Cond Bit)

Insert #TT Execute sp_getPaletContain @nIDPalet, @cpalet

select * from #TT
drop table #TT

END



Carlos Sacristán escribió:
Es complicado ayudarte si no posteas el script de los procedimientos
involucrados...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores" escribió en el
mensaje news:
Gracias Carlos por la atencion que me has dado.


Me da el mensaje:

Msg 8152, Level 16, State 6, Procedure sp_getPaletContain, Line 30
String or binary data would be truncated.

(1 row(s) affected)



Si ejecuto solo el SP involucrado me da resultados correctos, que
debería ser lo mismo en este otro, que es solamente una prueba en este
caso, para luego implementarlo en donde si me urge, y es donde espero
poder tabajar con el cursor resultante.


Saludos



JCF


Carlos Sacristán escribió:
¿Y por qué no te funciona? ¿Lanza algún error?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores" escribió en




el
mensaje news:
No me ha funcionado he hecho lo siguiente :


Create Table #TT (Item nVarchar(10), OProd nVarchar(10), Lbs
Numeric(12,2), Qty Int, Lib Bit, Qua Bit, Cond Bit)

Insert #TT Execute sp_getPaletContain @nIDPalet, @cpalet

select * from #TT
drop table #TT



El insert no me funciona, lo demas si. puedo meter la tabla en una
variable tipo cursor, pero me da vacia por que no funciona el cursor.

Saludos.


JCF


Juan Carlos Flores escribió:
Carlos, voy a probarlo ahorita mismo, muchas gracias.


Saludos



JCF

Carlos Sacristán escribió:
Suponiendo que el primer procedimiento almacenado devuelve dos
columnas
(A y B), un ejemplo para manejar estos resultados sería:

***************************************************************

datos
que lo que devuelve el primer procedimiento
CREATE TABLE #t ...

INSERT #t
EXECUTE el_primer_procedimiento @param1=

de la
tabla temporal creada

***************************************************************

Espero haberme explicado

Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores" escribió
en el
mensaje news:#
Me podrías ampliar mas el como hacerlo ? Porque no debo modificar el
primer SP, se puede sin hacer eso ?

Saludos


jCF

Carlos Sacristán escribió:
¿No puedes insertar el resultado de ese primer procedimiento en










una
tabla temporal y manejar los resultados en el cursor que comentas?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Carlos Flores"
escribió en




el
mensaje news:e$
Bien, tengo un SP que me devuelve un cursor, ese SP lo uso en unos
procedimientos en .net, y lleva buena cantidad de codigo el SP en
mención. Resulta que ahora en otro SP necesito usar el cursor












generado
por el primer SP, recorrer sus datos, y no se como hacer para
















cargar
ese
cursor sin tener que usar poner el select del primer dentro del






segundo,
ademas por mantenimiento de codigo es un problema.

Espero haberme explicado.


Saludos


JCF

Gustavo Larriera (MVP) escribió:
No entiendo en detalle lo que intentas hacer. De todas formas
entiendo




que
si usas variables de tipo CURSOR puede ser útil para lo que


















dices.
Tal vez si explicas con más nivel de detalle tu problema


















concreto,
te
podamos ayudar mejor.






















Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida