create table capaxy (gid serial primary key, x double precision, y double precision);
select addgeometrycolumn ('','capaxy','geom',-1,'POINT',2);
BEGIN TRANSACTION;
CREATE OR REPLACE FUNCTION tggFunction_updateEventos() RETURNS trigger AS
$$
BEGIN
IF ((NEW.x != OLD.x) OR (NEW.y != OLD.y)) THEN
NEW.geom = ST_MAKEPOINT (NEW.x, NEW.y);
ELSE
IF (NOT (NEW.geom ~= OLD.geom)) THEN
NEW.x = ST_X (NEW.geom);
NEW.y = ST_Y (NEW.geom);
END IF;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
DROP TRIGGER IF EXISTS tggUpdateEventos ON capaxy;
CREATE TRIGGER tggUpdateEventos
BEFORE UPDATE ON capaxy
FOR EACH ROW EXECUTE PROCEDURE tggFunction_updateEventos();
END TRANSACTION;