2010-07-15 8 views

risposta

7

Questo può essere fatto interrogare user_triggers o dba_triggers come tale:

SELEZIONA trigger_body DA user_triggers dove trigger_name = 'theName';

o

SELEZIONA DBMS_METADATA.GET_DDL ('trigger', '....') FROM DUAL

Se il codice di attivazione chiama altro codice che viene Wrapped (obsufacted) sarà necessario scartarlo, vedere this article o effettuare una ricerca su google per "oracle unwrap pl/sql"

È inoltre possibile utilizzare uno Oracle managment or development too per ottenere il codice sorgente del trigger.

+1

SELECT DBMS_METADATA.GET_DDL ('TRIGGER', '....') DA DUAL è un'alternativa. –

+2

I trigger non possono essere spostati. –

+1

Grazie! E per ottenerlo da un altro utente se le autorizzazioni lo consentono: select trigger_name, status, trigger_body from all_triggers WHERE owner = 'SOMEUSERNAME' ORDER BY trigger_name; – o1e9

1

Sql * plus dovrebbe essere in grado di risolverlo. È possibile interrogare le tabelle di sistema per ottenere il corpo del testo.

Problemi correlati