Re_Kotc
02-07-2009, 17:41
ciao a tutti, premetto che sono un novellino dei DBMS e sto cercando di imparare, ho cercato di creare una semplice funzione di questo tipo:
CREATE FUNCTION checkdurata() RETURNS trigger AS '
BEGIN
if NEW.durata > 90 THEN
NEW.durata := 90;
END IF;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';
per poi creare un trigger che la utilizzasse
CREATE TRIGGER conta AFTER INSERT OR UPDATE ON trasmette
FOR EACH ROW EXECUTE PROCEDURE checkdurata();
l'idea molto semplice è che per ogni nuovo inserimento se il valore dell'attributo durata è maggiore di 90 settalo a 90...eppure io continuo a inserire tutti i valori che voglio e questi restano tali..non dovrebbero essere automaticamente messi a 90?
grazie :)
CREATE FUNCTION checkdurata() RETURNS trigger AS '
BEGIN
if NEW.durata > 90 THEN
NEW.durata := 90;
END IF;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';
per poi creare un trigger che la utilizzasse
CREATE TRIGGER conta AFTER INSERT OR UPDATE ON trasmette
FOR EACH ROW EXECUTE PROCEDURE checkdurata();
l'idea molto semplice è che per ogni nuovo inserimento se il valore dell'attributo durata è maggiore di 90 settalo a 90...eppure io continuo a inserire tutti i valori che voglio e questi restano tali..non dovrebbero essere automaticamente messi a 90?
grazie :)