Come attivare, generare, Update, Delete e Insert bilancio per il database Oracle

May 8

Il database Oracle è un sistema di gestione di database relazionale ad oggetti consiste di una memoria dati e applicazioni. Un trigger è un programma di nome memorizzato in un database Oracle e realizzato per un evento specifico. L'evento può essere una manipolazione di database, una definizione o il funzionamento associato ad un tavolo, o di una vista, schema o database. I trigger sono attivati ​​per impostazione predefinita in Oracle. Esempi di trigger associati alla manipolazione di database includono istruzioni DELETE, INSERT e UPDATE.

istruzione

1 Verificare di disporre delle autorizzazioni necessarie per utilizzare i trigger. È necessario avere il privilegio di sistema TRIGGER CREATE così come il permesso di modificare le tabelle citati nella dichiarazione di attivazione. Se si è in dubbio circa i privilegi, rivolgersi all'amministratore di sistema.

2 Inserire una CREATE TRIGGER nel codice. Ad esempio, il seguente codice eseguito quando un'operazione di gestione di database viene eseguita sulla tabella:

CREARE O SOSTITUIRE TRIGGER Print_salary_changes
PRIMA DI ELIMINARE O inserire o aggiornare ON emp
PER OGNI FILA
QUANDO (NEW.EMPNO> 0)
DICHIARARE

sal_diff number;

INIZIO

sal_diff := :NEW.SAL - :OLD.SAL;
dbms_output.put('Old salary: ' || :OLD.sal);
dbms_output.put(' New salary: ' || :NEW.sal);
dbms_output.put_line(' Difference ' || sal_diff);

FINE;
/

3 Modificare il codice per rappresentare quando si desidera il grilletto a fuoco. L'istruzione prima indica il grilletto deve essere avviata prima della tabella si accede. La dichiarazione può essere modificato per DOPO se si desidera che il grilletto per modificare o interrogare lo stesso tavolo.

4 Modificare il codice in modo da riflettere se si desidera che il grilletto per sparare una o più volte. In questo esempio, per ogni riga indica che si desidera che il grilletto per sparare una volta per ogni riga della tabella. Se si elimina questa riga di codice, il trigger si attiva una volta per ogni istruzione.

5 Modificare la clausola WHEN per indicare quando il corpo grilletto esegue su una riga. In questo esempio, quando (NEW.EMPNO> 0) indica che il corpo trigger eseguito solo se EMPNO è positivo.

Consigli e avvertenze

  • Se si desidera disabilitare un trigger, utilizzare un'istruzione ALTER TRIGGER con una clausola DISABLE. Ad esempio, per disattivare i trigger associati ad un tavolo reddito, inserire la seguente riga di codice:
  • ALTER TABLE reddito DISABILITA tutti i trigger;