silinen kayıtları ayrı bir tabloda takip etmek
Bazı kritik önemdeki tablolarımızda silinen kayıtları takip etmek isteyebiliriz. Bir anlamda windowstaki çöp kutusu gibi. Bu amaçla aşağıdaki prosedürü yazdım. Bu prosedüre parametreolarak silinen kayıtları takip etmek istediğimiz tablonun adını geçiriyoruz. Prosedür önce silinen kayıtları atacağı tabloyu tablo adının sonuna “__cop” ekleyerek oluşturuyor. Ayrıca silinen kayıtların atılacağı tabloya orjinal tablo yapısından farklı olarak DELETE_USER,DELETE_PC,DELETE_DATE,DELETE_OS_USER kolonlarını ekliyor. Bu kolonlarda isimlerinden anlaşılacağı gibi, kaydı silen kullanıcı adı, silindiği pc ismi,silindiği tarih ve silinen pc nin işletim sistemi kullanıcı adları tutuluyor.
Daha sonra prosedür silme işleminde çalışacak BEFORE DELETE trigger ını oluşturuyor. trigger ın adı tabloadı_rb_trg oluyor.Bundan böyle orjinal tablomuzda silinen her kaydı __cop tablomuzda tutmuş olacağız.

bir yorum yazın