metin ergöktaş oracle blog

silinen kayıtları ayrı bir tabloda takip etmek

Posted in Admin Scriptleri by itmanager on 08 Aralık 2010

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.

(daha fazla…)

Takip Et

Get every new post delivered to your Inbox.