Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Cursores

Estas en el tema de Cursores en el foro de Mysql en Foros del Web. Buenas tardes mi pregunta es con cursores....estoy trabajando con procedimeintos almacenados y tengo ke utilizar 2 cursores uno dentro de otro e decir ke el ...
  #1 (permalink)  
Antiguo 16/03/2011, 16:28
 
Fecha de Ingreso: marzo-2009
Mensajes: 291
Antigüedad: 15 años, 1 mes
Puntos: 1
Pregunta Cursores

Buenas tardes mi pregunta es con cursores....estoy trabajando con procedimeintos almacenados y tengo ke utilizar 2 cursores uno dentro de otro e decir ke el sugundo cursor se vale de los datos del primero ejemplo
DECLARE cur1 CURSOR FOR SELECT compras.vendedor, compras.CATEGORIA,compras cantidad, compras.productos from compras
OPEN cur1
repet
Fetch cur1 into a,b,c,d;
/*hasta funciona y entiendo de maravilla */
cur2 cursor for select productos.nombre where productos.categoria=b
/*donde b seria la variable ke tiene la categoria segun el cursor anterior */

until......
close cur1

pues esto no me funciona como hago???? ayuda porfis??????
  #2 (permalink)  
Antiguo 16/03/2011, 16:47
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Cursores

Saludos

Seria que probaras, pero podría ser de la siguiente manera;

Código MySQL:
Ver original
  1. DECLARE cur1 CURSOR FOR SELECT compras.vendedor, compras.CATEGORIA,compras cantidad, compras.productos from compras
  2. OPEN cur1
  3. repet
  4. Fetch cur1 into a,@b,c,d;
  5.  
  6. cur2 cursor for select productos.nombre where productos.categoria=@b
  7.  
  8.  
  9. until......
  10. close cur1
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 16/03/2011, 16:54
 
Fecha de Ingreso: marzo-2009
Mensajes: 291
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Cursores

NO NANO probe lo ke me dijiste y ma da error :( gracias de todos modos
  #4 (permalink)  
Antiguo 16/03/2011, 16:55
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Cursores

Saludos

Podrías postear el error?
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 16/03/2011, 17:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 291
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Cursores

Script line: 4 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@nro,dig,grup,prd,vig,prides,egre,capit,fecnac,pa gador;
if not done then
' at line 23
ese es el error
  #6 (permalink)  
Antiguo 16/03/2011, 17:07
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Cursores

Saludos

Prueba de esta manera:


Código MySQL:
Ver original
  1. DECLARE b integer; // Declaras la variable
  2.  
  3. DECLARE cur1 CURSOR FOR SELECT compras.vendedor, compras.CATEGORIA,compras cantidad, compras.productos FROM compras
  4. OPEN cur1
  5. repet
  6. Fetch cur1 INTO a,b,c,d;
  7.  
  8. cur2 cursor for SELECT productos.nombre WHERE productos.categoria=b
  9.  
  10.  
  11. until......
  12. close cur1

Me estaba confundiendo con la sintaxys de SQL

EDITO: Pienso que de igual manera te hace falta un loop para que se recorra en el segundo select
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #7 (permalink)  
Antiguo 16/03/2011, 17:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 291
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Cursores

me sigue tirando el mismo error...algo curiso probe declarar el cursor sin los parametros del otro y funciona perfecto el tema es cuando los parametros del where son del otro cursor y ahi no hace nada....
  #8 (permalink)  
Antiguo 16/03/2011, 17:41
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Cursores

Saludos

Y si lo manejas si en segundo cursor, sino apuntando toda la sentencia al primero tampoco te ejecuta?
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #9 (permalink)  
Antiguo 16/03/2011, 17:57
 
Fecha de Ingreso: marzo-2009
Mensajes: 291
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Cursores

mmmm no se si puedo hacer todo en una consulta por ke hay casos ke lo tengo ke ir analizando...me imagino ke debe existir la menra de hacer lo ke kiero pero no se como jejejejej....muchas gracias por tus respuestas....es bueno saber ke podemos contar con alguien
  #10 (permalink)  
Antiguo 17/03/2011, 13:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cursores

Alguno de los problemas pueden ser producto de una sintaxis errónea en el stored procedure, pero necesitaría ver el cuerpo completo del SP para saber si el problema anda por allí.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:12.