Sono riuscito a compilare senza errore il seguente trigger:
codice:
CREATE TRIGGER DROP_TABELLA AFTER DELETE ON MIA_TABELLA

FOR EACH ROW

DECLARE

NOME_TABELLA VARCHAR2(100);
NOME_TABELLA_DA_CANCELLARE VARCHAR2(100);


BEGIN
	
	/*
	Qui leggo il campo NOME della riga cancellata, e lo converto in upper case 
	*/        
	SELECT UPPER(:OLD.NOME)
	INTO NOME_TABELLA
	FROM MIA_TABELLA;

	/*
	Qui leggo, tra tutte le tabelle presenti nel database, la tabella il cui nome contenga la stringa in 'NOME_TABELLA' 
	*/        
	SELECT TNAME
	INTO NOME_TABELLA_DA_CANCELLARE
	FROM SYS.TAB
	WHERE TNAME LIKE '%:NOME_TABELLA%';

	/*
	Qui cancello la tabella 'NOME_TABELLA_DA_CANCELLARE' 
	*/   
	EXECUTE IMMEDIATE 'DROP TABLE :NOME_TABELLA_DA_CANCELLARE CASCADE';

END;
ma quando cancello una riga da MIA_TABELLA ottengo un messaggio di errore che fa riferimento a:

ORA-06512: a "DROP_TABELLA", line 6
ORA-04088: errore durante esecuzione del trigger 'DROP_TABELLA'

Come mai?

Grazie