2009-11-10 12 views

risposta

10

Sì, in questo modo:

create or replace trigger trg 
after insert on emp 
for each row 
begin 
    myproc(:new.empno, :new.ename); 
end; 
+0

capito. Funziona. Grazie mille. – user207902

+0

cos'è: new.empno? [significa: nuovo?] – Freelancer

+0

@Freelancer: nei trigger a livello di riga Oracle è possibile fare riferimento ai valori delle colonne prima e dopo l'effetto dell'istruzione di attivazione utilizzando: vecchio e: nuovo. Questo doveva essere un trigger a livello di riga, ho appena aggiunto la parte mancante per ogni riga. –

1

In SQL Server lo è. Che DBMS stai usando?

ETA: Oracle, eh? Non ho esperienza personale con esso, ma il this sembra indicare che è possibile. L'ho trovato googling "oracle trigger stored procedure".

+0

Sto usando Oracle – user207902

1

Sì, è possibile. Tieni presente che un trigger può essere attivato per ogni riga interessata da un trigger DML. Quindi la procedura memorizzata dovrebbe essere ottimizzata o si potrebbero incorrere in problemi di prestazioni. I trigger sono una buona cosa, ma devi solo tenere a mente i problemi di prestazioni che possono emergere quando li usi.

2

Sì, è possibile attivare una procedura da un trigger. Tuttavia, tieni presente che il trigger & procedur e non dovrebbe accedere alla stessa tabella.

Problemi correlati