Si, no hay mayor problema, son simples comparaciones:)
Muchas gracias por la ayuda:)
Un saludo
Suso
El 26 de julio de 2009 15:56, suso <jlcu...@terra.es
<mailto:jlcu...@terra.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
--
TIP 5: ¿Has leído nuestro extenso FAQ?
http://www.postgresql.org/docs/faqs.FAQ.html