Informazioni sulla compilazione dei trigger e sulle dipendenze
I trigger compilati dipendono dagli oggetti dello schema su cui sono definiti. Se un oggetto su cui dipende un trigger viene eliminato o modificato per creare una mancata corrispondenza tra il trigger e l'oggetto, il trigger viene invalidato.
L'esecuzione di un'istruzione CREATE TRIGGER consente di compilare il TRIGGER che viene creato. Se questa compilazione restituisce un errore, l'istruzione CREATE TRIGGER non riesce. Per visualizzare gli errori di compilazione, utilizzare la seguente istruzione:
SELECT * FROM USER_ERRORS WHERE TYPE = 'TRIGGER';
I trigger compilati dipendono dagli oggetti dello schema su cui sono definiti. Ad esempio, NEW_EVALUATION_TRIGGER dipende dalla tabella EVALUATIONS.
CREATE OR REPLACE
TRIGGER NEW_EVALUATION_TRIGGER
BEFORE INSERT ON EVALUATIONS
FOR EACH ROW
BEGIN
:NEW.evaluation_id := evaluations_seq.NEXTVAL;
END;
Per visualizzare gli oggetti dello schema da cui dipendono i trigger, utilizzare l'istruzione seguente:
SELECT * FROM ALL_DEPENDENCIES WHERE TYPE = 'TRIGGER';
Se un oggetto da dove dipende un trigger viene eliminato o modificato, in modo da poter creare una mancata corrispondenza tra il trigger e l'oggetto, il trigger viene invalidato. La prossima volta che il trigger viene richiamato, viene ricompilato. Per ricompilare immediatamente un TRIGGER, utilizzare l'istruzione ALTER TRIGGER con la clausola COMPILE, come mostrato nell'esempio seguente.
ALTER TRIGGER NEW_EVALUATION_TRIGGER COMPILE;
Vedere anche: Oracle Database PL/SQL Language Reference per ulteriori informazioni sulla compilazione dei trigger e sulle dipendenze.