pugliese
Utente giovane
Regione: Puglia
Prov.: Bari
|
Inserito il - 04/03/2011 : 14:54:36
|
Salve ragazzi mi sto esercitando con i trigger sul db da sviluppare nella traccia del 8/02 , quello relativo ad American's Cup. Nel caso specifico ho una tabella PARTECIPAZIONE(BARCA,REGATA) che mi associa ogni barca alla relativa regata disputata -sono chiavi di tipo integer-. Vorrei fare un semplice trigger che si attiva quando si vorrebbe cancellare una tupla dalla tabella che in realtà non c'è. Ecco il trigger CREATE FUNCTION cancellaPartecipazione() RETURNS trigger AS $$ BEGIN IF old.regata not in (SELECT regata FROM partecipazione WHERE old.barca=barca) then raise exception'Match nn trovato'; END IF; ... RETURN old; END; $$ LANGUAGE 'plpgsql'; CREATE TRIGGER cancellaPartecipazione BEFORE DELETE ON partecipazione FOR EACH ROW EXECUTE PROCEDURE cancellaPartecipazione(); se provo a cancellare una tupla che non c'è nella tabella il trigger non si attiva.Il risultato mi dice che ha eseguito la query cancellando 0 righe quando invece si dovrebbe attivare il trigger.
|
|