| From: | Cesar Erices <caerices(at)gmail(dot)com> | 
|---|---|
| To: | suso <jlcubas(at)terra(dot)es> | 
| Cc: | pgsql-es-ayuda(at)postgresql(dot)org | 
| Subject: | Re: error en function | 
| Date: | 2009-07-26 23:25:33 | 
| Message-ID: | 1cb5d9840907261625t54d51ce8n7fb2b455889ef65c@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
El 26 de julio de 2009 15:56, suso <jlcubas(at)terra(dot)es> escribió:
> Hola Cesar, la idea es:
> Si se ecuentra ese dato, comparamos la ip del user, si es la misma que la
> que esta guardada y siempre  y cuando poner_bloq=False, devolvemos false, si
> es la misma que la que esta guardada y siempre  y cuando poner_bloq=true,
> devolvemos false tambien, solo devolveremos TRUE cuando encontramos ese
> dato, y la ip del user es diferente de la que esta guardada, o no se
> encuentra ese dato, lo cual quiere decir que nadie ha entrado, hay tambien
> unas comparaciones de fechas y horas, y solo se guardan modificaciones, en
> el caso de que no exista ese dato o que en la comparacion de fecha y hora
> sea mayor que la predefinida, entonces si modificamos con los datos
> actuales, y asi para cada user que acceda a esa tabla
todo eso debes hacer con consultas e IF  dentro de la funcion, pero creo que
con el ejemplo que te envie te funcionara todo bien.
CREATE OR REPLACE FUNCTION p_bloqueos(n_his integer, poner_bloq boolean)
 RETURNS boolean AS                     -------------Debe devolver true o
False segun el estado de uno de los campoa que obtenemos en esa consulta
$BODY$
DECLARE   conta int4;                                   -  esto es para un
uso futuro
                  Resultado boolean;
BEGIN
    SELECT
         poner_bloq INTO Resultado
    FROM
         bloq
    WHERE
        nhc = n_his;
   IF NOT FOUND THEN
       RAISE EXCEPTION 'Error al Tratar de ACTUALIZAR un Registro ((%))',
mpc_nombre;
       RETURN FALSE;
   END IF;
HACER CONSULTAS PARA TODO ESO QUE INDICASTE IP - FECHAS - ETC..
RETURN Resultado
END;
$BODY$
 LANGUAGE 'plpgsql' VOLATILA
Espero que te funcione..
-- 
Cesar Erices Vergara
Ingeniero en Gestión Informática
Analista de Sistema
Santiago - Chile
| From | Date | Subject | |
|---|---|---|---|
| Next Message | suso | 2009-07-26 23:32:32 | Re: error en function | 
| Previous Message | suso | 2009-07-26 19:56:51 | Re: error en function |