Suso Lopez escribió: > CREATE OR REPLACE FUNCTION prueba(n_cli integer, existe boolean) > RETURNS boolean AS > $BODY$ 1> DECLARE 2> 3> valores ctr_alt%ROWTYPE; me marca error el del titulo del mensaje 4> encontrado int4; 5> BEGIN 6> SELECT cod_cli,esta FROM bloq WHERE cod_cli=n_cli ; 7> 8> IF NOT FOUND THEN 9> valores.cod_cli:=n_cli: aqui tambien me da error 10> 11> RETURN FALSE; 12> END IF; 13> IF FOUND THEN 14> RETURN true; 15> END IF; 16> END; > $BODY$ > LANGUAGE 'plpgsql' VOLATILE
Creé esta función y las dos tablas mencionadas en ella y me funciona perfectamente: create table bloq (cod_cli int, esta int); create table ctr_alt (cod_cli int); Hice dos pequeños cambios a la función: uno es que el : al final de la línea 9 debe cambiarse por un ; El otro es que el SELECT de la línea 6 debe cambiarse por un PERFORM. Luego de eso, la función anda bien. Sospecho que tu problema puede ser que la tabla tiene nombre con mayúsculas, o bien que está en otro esquema, o algún otro error de piloto por el estilo. -- Alvaro Herrera http://www.advogato.org/person/alvherre "MySQL is a toy compared to PostgreSQL." (Randal L. Schwartz) (http://archives.postgresql.org/pgsql-general/2005-07/msg00517.php) -- TIP 2: puedes desuscribirte de todas las listas simultáneamente (envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)