Nwlapcug.com


Come attivare, generare, aggiornare, eliminare & istruzioni Insert per il Database Oracle

Il database di Oracle è un sistema di gestione di database relazionale ad oggetti costituito da un deposito di applicazione e dati. Un trigger è un programma denominato memorizzato in un database Oracle ed eseguito per un evento specifico. L'evento può essere una manipolazione del database, una definizione o operazione associata a una tabella o una vista, schema o database. I trigger sono abilitati per impostazione predefinita in Oracle. Esempi di trigger associati alla manipolazione database istruzioni DELETE, INSERT e UPDATE.

Istruzioni

1

Assicurarsi che si dispongano delle autorizzazioni corrette per utilizzare i trigger. È necessario disporre del privilegio di sistema CREATE TRIGGER, nonché dell'autorizzazione per modificare tabelle denominate nell'istruzione di trigger. Se siete in dubbio circa i privilegi, contattare l'amministratore di sistema.

2

Inserire un'istruzione CREATE TRIGGER nel codice. Ad esempio, il codice riportato di seguito viene eseguito quando viene eseguita un'operazione di gestione di database sul tavolo:

CREARE o sostituire TRIGGER Print_salary_changes
PRIMA di eliminare o INSERT o UPDATE ON emp
PER OGNI RIGA
QUANDO (NUOVA. EMPNO > 0)
DICHIARARE

sal_diff number;

BEGIN

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 che il trigger. La prima istruzione indica che il trigger deve eseguire prima di accede la tabella. L'istruzione può essere modificato a dopo se si desidera che il trigger per modificare o eseguire una query nella tabella stessa.

4

Modificare il codice per riflettere se si desidera che il grilletto per sparare una volta o più volte. In questo esempio, FOR EACH ROW indica che si desidera il grilletto per sparare una volta per ogni riga della tabella. Se si elimina questa riga di codice, il trigger verrà attivato una volta per ogni istruzione.

5

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

Consigli & Avvertenze

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