Hola a todos! Estoy teniendo un problema con una función en progresql 8.4:
CREATE OR REPLACE FUNCTION getLibres(varchar(20), varchar(20)) RETURNS SETOF tabla1 AS $BODY$ DECLARE r tabla1%rowtype; BEGIN IF $2 IS NULL THEN FOR r IN SELECT CAST($1 AS VARCHAR(255)),count(*) FROM tabla1 WHERE tabla1.confirmada = '1' group by 1 order by 1 LOOP RETURN NEXT r; END LOOP; END IF; RETURN; END $BODY$ LANGUAGE 'plpgsql' ; Cuando ejecuto SELECT * FROM getLibres('campo1',NULL); Me tira el siguiente error: ERROR: la sintaxis de entrada no es válida para integer: «campo1» CONTEXT: PL/pgSQL function "getlibres" line 5 at bucle FOR en torno a registros de un SELECT Porqué me toma el campo como integer? Gracias por su tiempo ANA