PDA

View Full Version : [SQL] trigger complesso


marcuzzuhp
17-01-2014, 15:26
Salve a tutti sono uno studente di informatica e sono alle rese con il mio primo DB, ho girato molto su internet ma non riesco a trovare una soluzione.
In poche parole il mio problema è il seguente:
ho bisogno di controllare ad ogni inserimento di una tupla in una determinata tabella se un campo di quella tupla è presente in un altra tabella... se c'è ok posso inserire altrimenti il trigger dovrebbe bloccare l'operazione...
Es

create trigger .... BEFORE INSERT ecc...
BEGIN

IF(NEW.CF notexist(select ....
from...
where...) ) THEN ????
END IF;
END;

1 la struttura puo andare???
2 come fare a specificare di bloccare l'operazione dopo il then???

Daniels118
21-01-2014, 08:31
Non c'è un metodo che vada bene per tutti i database, devi specificare quale stai utilizzando tu.

Comunque a mio avviso ciò che vuoi ottenere andrebbe implementato con un vincolo di integrità referenziale.

Maui78
24-01-2014, 11:37
Non c'è un metodo che vada bene per tutti i database, devi specificare quale stai utilizzando tu.

Comunque a mio avviso ciò che vuoi ottenere andrebbe implementato con un vincolo di integrità referenziale.

Si, fai decisamente prima senza dover scrivere codice. Qualunque sia il db.

ALTER TABLE pippo ADD (
FOREIGN KEY (colonna1)
REFERENCES pluto (colonna2));


Ciao