Cursor con datos de un SP

08/08/2005 - 17:29 por Mennegguzzi | Informe spam
Hola a todos, les hago nua consulta

Tengo un SP a_sp_FCRMVI
declaro un cursor F_PEDI

y lo quiero cargar con los datos del SP, lo hago de la siguiente forma y no
funciona, no sé si en realidad es posible hacerlo, y en ese caso, no sé qué
estoy haciendo mal


DECLARE F_PEDI CURSOR FOR
USE db_Emp_Z EXEC a_sp_FCRMVI 'f_Fact'
OPEN F_PEDI
FETCH NEXT FROM F_PEDI
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM F_PEDI
END


les agradezco mucho su ayuda

saludos

Pablo

Preguntas similare

Leer las respuestas

#6 Maxi
08/08/2005 - 18:35 | Informe spam
Pablo, lo ideal seria trabajar en conjunto de registros y no registro a
registro. Por ej, podrias usar UPDATE o insert para hacer estas cosas.
Pasame las tablas y que debe hacer la operacion y te ayudo a construir el
Store Procedure


Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:
Ok Maxi, gracias por la sugerencia, les cuento como es mi problema:

desarrollo aplicaciones en VB6, en las cueles acostumbro abrir Reciodsets,
recorrerlos, hacer operaciones por cada resgitro (como grabar en otra
tabla usando condiciones sobre esos registros, etc), y después los cierro

esto lo hago con:

Rs1.open "Select..." ó "Exec.."(si uso un SP)
Rs1.MoveFirst
Do While Rs1.Eof = False
# operaciones # por ejemplo: Rs1.Update, ó If
Rs1!Campo > 1 Then .. End If , etc.
Rs1.MoveNext
Loop
Rs1.Close

Yo quisiera hacer eso, pero sin usar código VB6, solo con T-SQL, por
supuesto usando SP
por eso se me ocurrió usar cursores

No sabía que no es recomendado,

Agradecería muchísimo su ayuda porque ahorraría muchísimas líneas de
código y posibilidades de error.

Desde ya muchas gracias

Saludos

Pablo


"Maxi" escribió en el mensaje
news:
Hola, sabes que no es para nada bueno usar cursores no? porque no nos
expones el problema y no la solucion al mismo asi podemos ver como
ayudarte :-)


Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:
Hola a todos, les hago nua consulta

Tengo un SP a_sp_FCRMVI
declaro un cursor F_PEDI

y lo quiero cargar con los datos del SP, lo hago de la siguiente forma y
no funciona, no sé si en realidad es posible hacerlo, y en ese caso, no
sé qué estoy haciendo mal


DECLARE F_PEDI CURSOR FOR
USE db_Emp_Z EXEC a_sp_FCRMVI 'f_Fact'
OPEN F_PEDI
FETCH NEXT FROM F_PEDI
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM F_PEDI
END


les agradezco mucho su ayuda

saludos

Pablo









Respuesta Responder a este mensaje
#7 Mennegguzzi
08/08/2005 - 18:42 | Informe spam
perdón, se me fue 3 veces el mismo mensaje

Pablo



"Maxi" escribió en el mensaje
news:
Hola, sabes que no es para nada bueno usar cursores no? porque no nos
expones el problema y no la solucion al mismo asi podemos ver como
ayudarte :-)


Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:
Hola a todos, les hago nua consulta

Tengo un SP a_sp_FCRMVI
declaro un cursor F_PEDI

y lo quiero cargar con los datos del SP, lo hago de la siguiente forma y
no funciona, no sé si en realidad es posible hacerlo, y en ese caso, no
sé qué estoy haciendo mal


DECLARE F_PEDI CURSOR FOR
USE db_Emp_Z EXEC a_sp_FCRMVI 'f_Fact'
OPEN F_PEDI
FETCH NEXT FROM F_PEDI
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM F_PEDI
END


les agradezco mucho su ayuda

saludos

Pablo





Respuesta Responder a este mensaje
#8 Mennegguzzi
08/08/2005 - 19:02 | Informe spam
Maxi, lo armo y te lo paso, es bastante extenso pero lo trato de resumir lo
más posible, en unos minutos te lo paso

saludos y muchas gracias desde ya

Pablo


"Maxi" escribió en el mensaje
news:erB$
Pablo, lo ideal seria trabajar en conjunto de registros y no registro a
registro. Por ej, podrias usar UPDATE o insert para hacer estas cosas.
Pasame las tablas y que debe hacer la operacion y te ayudo a construir el
Store Procedure


Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:
Ok Maxi, gracias por la sugerencia, les cuento como es mi problema:

desarrollo aplicaciones en VB6, en las cueles acostumbro abrir
Reciodsets, recorrerlos, hacer operaciones por cada resgitro (como grabar
en otra tabla usando condiciones sobre esos registros, etc), y después
los cierro

esto lo hago con:

Rs1.open "Select..." ó "Exec.."(si uso un SP)
Rs1.MoveFirst
Do While Rs1.Eof = False
# operaciones # por ejemplo: Rs1.Update, ó If
Rs1!Campo > 1 Then .. End If , etc.
Rs1.MoveNext
Loop
Rs1.Close

Yo quisiera hacer eso, pero sin usar código VB6, solo con T-SQL, por
supuesto usando SP
por eso se me ocurrió usar cursores

No sabía que no es recomendado,

Agradecería muchísimo su ayuda porque ahorraría muchísimas líneas de
código y posibilidades de error.

Desde ya muchas gracias

Saludos

Pablo


"Maxi" escribió en el mensaje
news:
Hola, sabes que no es para nada bueno usar cursores no? porque no nos
expones el problema y no la solucion al mismo asi podemos ver como
ayudarte :-)


Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:
Hola a todos, les hago nua consulta

Tengo un SP a_sp_FCRMVI
declaro un cursor F_PEDI

y lo quiero cargar con los datos del SP, lo hago de la siguiente forma
y no funciona, no sé si en realidad es posible hacerlo, y en ese caso,
no sé qué estoy haciendo mal


DECLARE F_PEDI CURSOR FOR
USE db_Emp_Z EXEC a_sp_FCRMVI 'f_Fact'
OPEN F_PEDI
FETCH NEXT FROM F_PEDI
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM F_PEDI
END


les agradezco mucho su ayuda

saludos

Pablo













email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida