Gente Nicolas, le puse el fetch pero no compila!!! aca esta la funcion con el comentario donde no compila
CREATE OR REPLACE FUNCTION update_or_insert_nacionalidades(cod text, nombre text) RETURNS void AS $BODY$ declare cn cursor for SELECT * from nacionalidades where id_nacionalidad = cod ; BEGIN open cn ; FETCH count in cn ; /* ESTO NO COMPILA TIRA ERROR-> ERROR: syntax error at or near ";"LINE 11: FETCH count in c_n ; */ if not FOUND then /* no esta en nacionalidades */ RAISE NOTICE 'update_or_insert_nacionalidades --> INSERT '; insert into nacionalidades( id_nacionalidad , nacionalidad ) values ( cod , nombre ) ; else RAISE NOTICE 'update_or_insert_nacionalidades --> UPDATE '; update nacionalidades set nacionalidad = nombre where id_nacionalidad = cod ; end if ; close c_nacionalidad; RETURN ; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION update_or_insert_nacionalidades(text, text) OWNER TO postgres; cualquier idea sera agradecida. salu2 jmdc 2012/11/14 Nicolas Dominguez Florit <nicolas...@gmail.com> > Puede ser que lo que te falte sea hacer un FETCH luego del Open? > Saludos, > Nico. > > > El 14 de noviembre de 2012 13:58, Juan > <smalltalker.marc...@gmail.com>escribió: > > Gente >> >> >> Tengo un problema con un cursor, y tambien una duda >> en el sig porcion de codigo , cod y nombre son text y son los parametros >> de una funcion >> >> .. >> declare c_nacionalidad refcursor ; >> begin >> >> OPEN c_nacionalidad FOR execute 'SELECT * from nacionalidades where >> id_nacionalidad = ' || quote_literal(cod ) ; >> if not FOUND then >> /* no esta en nacionalidades */ >> RAISE NOTICE 'update_or_insert_nacionalidades --> INSERT '; >> insert into nacionalidades( id_nacionalidad , nacionalidad ) values ( >> cod , nombre ) ; >> else >> RAISE NOTICE 'update_or_insert_nacionalidades --> UPDATE '; >> update nacionalidades set nacionalidad = nombre where id_nacionalidad >> = cod ; >> end if ; >> end ; >> >> >> 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 ???? >> donde encuentro esa documentacion, en verdad googleando no la encontre, >> agradecere cualquier info , >> salu2 >> jmdc >> > >