Es posible crear procedimientos almacenados y triggers en PostgreSQL usando varios lenguajes, entre otros PLpgSQL que es una ampliación a SQL. Presentamos un breve ejemplo de como mantener actualizado el promedio de los números de la tabla !Creación de tablas, función y trigger CREATE TABLE numeros (num integer); CREATE TABLE promedio (tabla VARCHAR(20), prom FLOAT); INSERT INTO TABLE promedio VALUES ('numeros', '0'); CREATE LANGUAGE plpgsql; CREATE OR REPLACE FUNCTION calcular_promedio() RETURNS "trigger" AS ' BEGIN UPDATE promedio SET prom=(SELECT AVG(num) FROM numeros); return NEW; END; ' LANGUAGE 'plpgsql' VOLATILE; CREATE TRIGGER recalcula_promedio AFTER INSERT OR UPDATE OR DELETE ON numeros FOR EACH STATEMENT EXECUTE PROCEDURE calcular_promedio(); !Prueba de uso INSERT INTO numeros VALUES ('5'); SELECT * FROM promedio ; tabla | prom ---------+------ numeros | 5 (1 row) Este escrito se dedica a Dios por su Belleza. Dominio público. 2009. vtamara@pasosdeJesus.org |