RE: Pg_Agent y las vistas materializadas

From: "\(Syswarp\) Carlos Enrique Perez" <carlos(dot)perez(at)syswarp(dot)com(dot)ar>
To: "'Ing(dot) Marcos Ortiz Valmaseda'" <mlortiz(at)uci(dot)cu>, "'PostgreSQL'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Pg_Agent y las vistas materializadas
Date: 2009-12-01 13:19:03
Message-ID: 57369F9666C74067B4A3D2D2B8D01B42@COCOT
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Te paso un ejemplo pero sin pg_agent por si te sirve
En este caso la vista materializada seria inspecciones_maximas y el trigger
que esta debajo mantiene esta tabla con la maxima inspeccion para un
vehiculo. Dicho trigger ejecuta la funcion que esta debajo para tal fin.
Saludos.

create table inspecciones_maximas(
idinspeccion numeric(18) not null,
idvehiculo numeric(18) not null,
CONSTRAINT pk_inspecciones_maximas PRIMARY KEY (idvehiculo)
);
create unique index ix_inspecciones_maximas on
inspecciones_maximas(idinspeccion)

CREATE TRIGGER tr_inspecciones_maximas BEFORE INSERT OR UPDATE OR DELETE
ON inspecciones FOR EACH ROW
EXECUTE PROCEDURE max_inpeccion();

-- manejar la anulacion correctamente.
CREATE OR REPLACE FUNCTION max_inpeccion() RETURNS TRIGGER AS
$tr_inspecciones_maximas$
DECLARE
maxima_inspeccion numeric(18);
BEGIN
-- ESTO VA SIEMPRE
DELETE FROM INSPECCIONES_MAXIMAS where idvehiculo = NEW.idvehiculo;
SELECT MAX(idinspeccion) INTO maxima_inspeccion FROM INSPECCIONES where
idvehiculo = NEW.idvehiculo and anulada is null;
IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE' ) THEN
IF maxima_inspeccion is not null THEN
INSERT INTO INSPECCIONES_MAXIMAS VALUES (maxima_inspeccion,
NEW.idvehiculo);
END IF;
RETURN NEW;
END IF;
END;
$tr_inspecciones_maximas$ LANGUAGE plpgsql;

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Ing. Marcos Ortiz
Valmaseda
Enviado el: lunes, 30 de noviembre de 2009 12:50
Para: PostgreSQL
Asunto: [pgsql-es-ayuda] Pg_Agent y las vistas materializadas

Saludos a los listeros.
Estaba revisando en el sitio de pgadmin que habia un modulo que se le podria
incluir en la aplicacion llamado Pg_Agent, con el cual se pueden programar
tareas(una especia de jobs en Oracle).
Mi pregunta va dirigida si alguien ha usado este modulo combinado con las
vistas materializadas, o sea si lo han usado para programar el refresco de
este tipo de vistas. En caso de que lo hayan hecho, con un ejemplo me
bastaria.

Gracias de antemano.
--
TIP 5: ¿Has leído nuestro extenso FAQ?
http://www.postgresql.org/docs/faqs.FAQ.html

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ricardo Mendoza 2009-12-01 14:45:16 Implementar postgresql en Koha
Previous Message José Fermín Francisco Ferreras 2009-12-01 02:00:12 RE: seguridad y usuario q hace backup