[Postgresql-it] Trigger

  • From: "max" <max@xxxxxxxxxxxx>
  • To: postgresql-it@xxxxxxxxxxxxxxxxx
  • Date: Thu, 03 Feb 2005 18:18:44 +0100

Sto cercando di scrivere un trigger che dopo un insert 
mi vada a fare un update in un determinato campo .. :
mi spiego meglio .. ho un tabella "libri" con dentro tre campi
(numero_pagine, pagine_scritte, storico) .. quando faccio
l'insert perchè modifico le pagine_totali e le pagine scritte
se la loro differenza è uguale a 0 faccio un update sul campo storico
cambiando il valore da F a T

Ho abbozzato qualcosa del genere .. ma non funge :

CREATE or replace FUNCTION move_to_storico() RETURNS trigger AS'
BEGIN
    IF ( NEW.numero_pagine - NEW.pagine_scritte = 0 ) THEN
        UPDATE archlibri SET storico = T WHERE id_archlibri =
OLD.id_archlibri;
    RETURN NEW;
    END IF;
END;
' LANGUAGE plpgsql;

CREATE TRIGGER t_move_to_storico AFTER UPDATE ON archlibri
FOR EACH ROW EXECUTE PROCEDURE move_to_storico();

Ciao Max

Other related posts: