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

Cursores con update en postgre

Estas en el tema de Cursores con update en postgre en el foro de PostgreSQL en Foros del Web. Hola amigos, quiero consultarles si alguien me puede orientar en donde podria obtener informacion completa acerca de cursores con update de postgre, ya q he ...
  #1 (permalink)  
Antiguo 03/11/2010, 12:30
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 11 meses
Puntos: 0
Cursores con update en postgre

Hola amigos, quiero consultarles si alguien me puede orientar en donde podria obtener informacion completa acerca de cursores con update de postgre, ya q he buscado pero he encontrado informacion super basica al respecto y necesito saber lo mayor posible al respecto de cursores con update y funciones coon retorno de resultados, les agradeceria mucho si alguien me pudiera guiar para encontrar informacion acabada al respectpo, de antemano muchas gracias.... bye
  #2 (permalink)  
Antiguo 03/11/2010, 13:02
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Cursores con update en postgre

La verdad el tema es mas simple de lo que parece.

cuaando abres un cursor y lo recorres, si quieres hacer un update del registro actual donde está parado el cursor lo puedes hacer así

Código SQL:
Ver original
  1. UPDATE tabla SET campo = 'valor_campo' WHERE CURRENT OF nombre_cursor;

También aplica para DELETE.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 24/11/2010, 06:28
 
Fecha de Ingreso: mayo-2009
Ubicación: Fernando de la Mora - Paraguay
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Cursores con update en postgre

Hola despues de una busqueda intensa por internet y de muchas pruebas fallidas hasta que se me agotaban las ganas por fin logres que me funcionara un maldito cursor en postgres creo que la gente de postgres no se preocupa tanto en dar un buen ejemplo de uso osea un ejemplo practico solo en sus manuales te describen que significa cada palabra reservada y no se van al grano. pero buep les dejo un ejemplo del que yo hice esta hecho en postgres 9.0
Código SQL:
Ver original
  1. DECLARE vcursor CURSOR FOR SELECT prospecto FROM presupuesto_det WHERE presupuesto = 1;
  2. DECLARE vprospecto BIGINT;
  3.  
  4. BEGIN
  5.  
  6.     OPEN vcursor;
  7.     loop
  8.    
  9.         FETCH vcursor INTO vprospecto;
  10.         EXIT WHEN NOT FOUND;
  11.                
  12.                 -- Aca van las sentencias
  13.         UPDATE prospectos
  14.         SET desde_presupuesto_det ='S', estado_prospecto = 3
  15.         WHERE empresa = 1 AND
  16.             sucursal = 1 AND
  17.             ejercicio = 2010 AND
  18.             prospecto = vprospecto;
  19.        
  20.     END loop;
  21.     CLOSE vcursor;
  22. END;
Saludos desde Paraguay, espero que a alguien le sirva este ejemplo

Etiquetas: update
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 16:30.