Re: [Postgresql-it] Trigger

  • From: Enrico <scotty@xxxxxxxxxxxx>
  • To: postgresql-it@xxxxxxxxxxxxxxxxx
  • Date: Thu, 03 Feb 2005 18:24:15 +0100

max wrote:

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
_______________________________________________


Allora se devi azionare il trigger dopo l'insert penso che dovresti attivarlo after insert della tabella libri non dopo l'after update della tabella archlibri inoltre id_archlibri è uguale all'id_libro della tabella libri?

Ciao Enrico


Other related posts: