Creato da pastuweb.com
Share My Page
My Social Accounts
Account FaceBook Account LinkedIn Account Twitter Account Google Plus Account Git Hub

Legend:

<user> is the logged user and <table> is the source table where you INSERT new record.

AFTER INSERT: (This is an example)

DROP TRIGGER <user>.TRG_INS_<table>;

CREATE OR REPLACE TRIGGER <user>.TRG_INS_<table>
AFTER INSERT
ON <user>.<table>
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
declare
  var_tipo_misura wh_ttipomisure.nome%type;
  var_gruppo_misura wh_tgrupmisure.descr_grup_mis%type; 
  var_id_disp wh_tdisp.id_dispositivo%type;  
  var_cod_mac wh_tdisp.cod_mac%type;
  var_valore wh_tmisure.misura%type;
  var_nome wh_tutenti.nome%type;
  var_cognome wh_tutenti.cognome%type;
begin

  begin
    select tab2.nome, tab3.descr_grup_mis, tab4.id_dispositivo, tab4.cod_mac, tab1.misura 
      into var_tipo_misura, var_gruppo_misura, var_id_disp,  var_cod_mac, var_valore 
      from wh_tmisure tab1, wh_ttipomisure tab2, wh_tgrupmisure tab3,  wh_tdisp tab4 
     where tab1.id_dispositivo =  tab4.id_dispositivo and

tab1.cod_tipo_misura = tab2.cod_tipo_misura and

tab2.cod_grup_mis = tab3.cod_grup_mis and

tab1.id_misura = :NEW.id_misura;

  exception
    when others then
      null;
  end; 
  
  begin
    select nome, cognome 
      into var_nome, var_cognome 
      from wh_tutenti tab5 
     where tab5.id_utente = :NEW.id_utente;
  exception
    when others then
      null;
  end;

  insert into wh_audit_log
    (ttimestamp, username, azione, entita, id_entita, note)
  values
    (CURRENT_TIMESTAMP,
     :NEW.id_utente,
     'INSERIMENTO',
     'MISURA',
     :NEW.id_misura,
     'NOME=' || var_nome || ';COGN=' || var_cognome || ';TIPO_MIS=' ||

var_tipo_misura || ';GRUP_MIS=' || var_gruppo_misura || ';ID_DISP=' ||

var_id_disp || ';COD_MAC=' || var_cod_mac ||  ';VAL=' || var_valore);
end;
/


AFTER UPDATE: (This is an example)

DROP TRIGGER <user>.TRG_UPD_<table>;

CREATE OR REPLACE TRIGGER <user>.TRG_UPD_<table>
  AFTER UPDATE ON <user>.<table>   FOR EACH ROW
declare

begin

  insert into wh_audit_log
    (ttimestamp, username, azione, entita, id_entita, note)
  values
    (CURRENT_TIMESTAMP,
     :NEW.ID_UTENTE,
     'MODIFICA',
     'UTENTI',
     :NEW.ID_UTENTE,
     'CELL_OLD=' ||:OLD.n_cell || ';CELL_NEW=' ||:NEW.n_cell
     );

end;
/

Average (1 Vote)
The average rating is 5.0 stars out of 5.