sabato 6 ottobre 2012

Esempio di un trigger su tabella

L'esempio, creato e testato su db Oracle, permette di creare un trigger su di una tabella di un database.
In questo caso ogni volta che viene inserito un nuovo record, con la prima istruzione verranno copiati i dati dalla tabella "mytable" alla "mytable2", mentre con la seconda
istruzione saranno eliminati alcuni record presenti sulla prima tabella.
Eventualmente si possono inserire altre istruzioni all'interno del BEGIN/END
CREATE OR REPLACE TRIGGER myschema.MYTRIGGER
AFTER INSERT
ON myschema.mytable 
REFERENCING NEW AS New OLD AS Old
BEGIN

 insert into myschema.mytable2 (
     id,day_market,type_market) 
     select 
        id,day_market,type_market   
     from myschema.mytable where 
  to_date(myschema.mytable.day_market, 
  'yyyy/mm/dd')<sysdate-2;
     
 delete myschema.mytable where 
 to_date(myschema.mytable.day_market, 
 'yyyy/mm/dd')<sysdate-2;  

 -- ... other operations  
 
END ;