Prueba con esto, en vez de comillas debes utilizar $$. Saludos.
CREATE OR REPLACE FUNCTION contar_vistas_ofertas(integer) RETURNS INTEGER AS $$ DECLARE id ALIAS FOR $1; contador INTEGER; BEGIN SELECT count(*) INTO contador FROM ofertasempleo_vistas WHERE ofeid = id AND fecha = current_date; IF (contador > 0) THEN UPDATE ofertasempleo_vistas SET cantidad = contador + 1 WHERE ofeid = id AND fecha = current_date; RETURN 1; ELSE INSERT INTO ofertasempleo_vistas VALUES(id, 1, current_date); RETURN 2; END IF; END; $$ LANGUAGE 'plpgsql'; ________________________________________ De: pgsql-es-ayuda-ow...@postgresql.org [pgsql-es-ayuda-ow...@postgresql.org] En nombre de Gustavo Garay [lis...@shitech.com.py] Enviado el: jueves, 28 de abril de 2011 17:15 Para: Virginia CC: Ayuda Asunto: Re: [pgsql-es-ayuda] cast de campo fecha en función debes usar && como cuerpo de funcion no ' apostrofo, ademas current_date no hace falta invocar con select esos dos a simple vista saludos gustavo garay ----- Mensaje original ----- De: "Virginia" <mavi...@gmail.com> Para: "Ayuda" <pgsql-es-ayuda@postgresql.org> Enviados: Jueves, 28 de Abril 2011 17:18:08 Asunto: [pgsql-es-ayuda] cast de campo fecha en función Buenas tardes!!! Quisiera solicitarles ayuda con lo siguiente, tengo esta función: BEGIN; CREATE OR REPLACE FUNCTION contar_vistas_ofertas(integer) RETURNS INTEGER AS ' DECLARE id ALIAS FOR $1; contador INTEGER; BEGIN contador = (SELECT count(*) FROM ofertasempleo_vistas WHERE ofeid = id AND fecha = (select current_date)); IF (contador > 0) THEN UPDATE ofertasempleo_vistas SET cantidad = contador + 1 WHERE ofeid = id AND fecha = (select current_date); RETURN(1); ELSE INSERT INTO ofertasempleo_vistas VALUES(id, 1, (select current_date)); RETURN(2); END IF; END; ' LANGUAGE 'plpgsql'; COMMIT; pero al ejecutarla me lanza el error: """""You will need to rewrite or cast the expression """""" Qué estoy haciendo mal? Cómo corrijo esto??? Gracias de antemano ------------------------------------------- Ing. Maria Virginia Porras B. ------------------------------------------- - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda