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

Responder a