Gente ,Nicolas



Gracias Nicolas , tenias la solucion , quedo asi.

DECLARE
               r  record ;   /* no lo uso pero es para el into del cursor
*/
 valor      text;
 cn  cursor for SELECT *  from nacionalidades where id_nacionalidad  = cod
  ;
 BEGIN
OPEN cn;
 FETCH cn INTO r ;
 IF NOT FOUND THEN

Ahora , lo que no entiendo es porque tengo que recoger un valor
obligatoriamente
Tal vez este errado , pero la idea era "activar" el FOUND segun lei, no en
todos los casos se
carga esa variable, lo lei en la documentacion los casos donde activa el
FOUND

como no era mmi caso , tuve que ponerle el FOUND pero esto era lo unico que
me interesaba
habra otra manera de hacerlo??

saludos y gracias
jmdc


2012/11/14 Alvaro Herrera <alvhe...@2ndquadrant.com>

> Juan escribió:
>
> > el problema es con el not FOUND, no se si entendi mal, pero me da falso,
> > pero tengo una row con esa clave,
> > preg: luego de un open del cursor se afecta a la variable FOUND ????
>
> No, debes recorrerlo primero.  De todas formas tu código propuesto no
> funcionará bien: si dos sesiones tratan de ejecutar esto
> concurrentemente, no funcionará como tú esperas.  Mira el ejemplo 39-2
> acá:
>
> http://www.postgresql.org/docs/9.2/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
>
> --
> Álvaro Herrera                http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
>

Responder a