obtener en un cursor conjunto de registros devueltos por un sp

09/08/2004 - 19:27 por Fernando Vaca | Informe spam
Hola grupo y gracias de antemano por su tiempo, mi duda la explico con el
sgte ejemplo(el ejemplo es solo ilustrativo)

DECLARE Ciudad_Cursor CURSOR FOR

exec SP_Leer_ciudad
@I_pais =1

OPEN Ciudad_Cursor

FETCH NEXT FROM Ciudad_Cursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM Ciudad_Cursor
END

CLOSE Ciudad_Cursor
DEALLOCATE Ciudad_Cursor


la pregunta es como puedo obtener en un CURSOR registro(s) devueltos por un
SP (SP_Leer_ciudad).

Gracias de antemano
Fernando
 

Leer las respuestas

#1 Javier Loria
10/08/2004 - 03:52 | Informe spam
Hola Fernando:
En principio no puedes, o no directamente.
SQL no permite hacer esto directamente deberas hacer un
==INSERT INTO #TablaXXX
EXEC SP_Leer_Ciudad @I_Pais=1
== Y luego hacer el curso basado en un SELECT sobre la TablaXXX
Estas claro que lo que estas haciendo es terriblemente lento (de 100 a
10,000 mas lento) que hacerlo en "SQL" sin usar cursor.
Si nos envias el esquema de la tablas y lo que quires hacer con gusto te
ayudamos, sin usar el cursor y veras la diferencia en velocidad.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Fernando Vaca" wrote in message
news:
Hola grupo y gracias de antemano por su tiempo, mi duda la explico con el
sgte ejemplo(el ejemplo es solo ilustrativo)

DECLARE Ciudad_Cursor CURSOR FOR

exec SP_Leer_ciudad
@I_pais =1

OPEN Ciudad_Cursor

FETCH NEXT FROM Ciudad_Cursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM Ciudad_Cursor
END

CLOSE Ciudad_Cursor
DEALLOCATE Ciudad_Cursor


la pregunta es como puedo obtener en un CURSOR registro(s) devueltos por


un
SP (SP_Leer_ciudad).

Gracias de antemano
Fernando


Preguntas similares