From: | Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu> |
---|---|
To: | Gustavo Garay <listas(at)shitech(dot)com(dot)py>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: [pgsql-es-ayuda] cast de campo fecha en función |
Date: | 2011-04-29 15:54:13 |
Message-ID: | 294D3D02D5E18D42827B2ECFEADEB68808FFB31F88@mx-interno.vnz.uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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-owner(at)postgresql(dot)org [pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Gustavo Garay [listas(at)shitech(dot)com(dot)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" <mavir78(at)gmail(dot)com>
Para: "Ayuda" <pgsql-es-ayuda(at)postgresql(dot)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(at)postgresql(dot)org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Ricardo Mendoza | 2011-04-29 15:57:26 | caso de exito db 30 millones de registros en una tabla |
Previous Message | Marcos Ortiz | 2011-04-29 15:08:53 | Re: MODIFICAR MASIVAMENTE UN CAMPO |