Trigger ile Silinen Bilgileri Başka Tabloda Nasıl Tutulur?

Trigger ile Silinen Bilgileri Başka Tabloda Nasıl Tutulur? Arkadaşlar bu yazımda sizlere SQL kullanarak trigger ile silinen ayrıntıları başka tabloda nasıl tutulacağını söyleyeceğim. Dersimize başlamadan evvela Trigger’ı da detaylı bir biçimde açıklayayım isterseniz;  Bilindiği üzere trigger’lar oluşturucu şekilde adlandırılırlar. Peki oluşturucu ne demek? dediğinizi duyar bunun gibi oldum; Veri tabanınız üstünde herhangi bir transactional işlem yani delete, insert, update işlemi yaptığınız anda veri tabanınızın dilediğiniz öbür bir işlemi otomatik şekilde kendisinin gerçekleştirmesidir.   Varsayalım veri tabanımızdaki tablolardan biri,bir diğerine bir sütunla bağlı. Bu sütundan bir veri silindiğinde öbür tablomuzda bu silinen verilerin olduğu kayıtların da silinmesi isteniyor.Böyle bir halde yapacağımız hadise ilk tablomuz için bir trigger yazmaktır.   Böylelikle bu tablodan bir veri silindiğinde, trigger otomatik şekilde çalışacak ve öbür tabloya gidip ilgili kaydı silecektir. Trigger’lar işimizi kolaylaştırabileceği benzeri karmaşık bir veritabanı için çok fazla iyi kontrol edilmezlerse,çok büyük sıkıntılara da yol açabilirler. Trigger’ların imla türü aşağıdaki gibidir. Trigger oluşturuluyorsa CREATE, hazırlanmış bir trigger değiştiriliyorsa ALTER deyimi kullanılır. AFTER deyiminden sonra ise tabloya yapılacak hangi işlemden sonra bu trigger’ın tetikleneceği belirtilir.   Dersimize dönelim ve veri tabanımızda tablodan sildiğimiz ayrıntıları yine görmek için trigger nesnemizin ne işe yaradığını göreceğiz.   Öncelikle veri tabanımızda Rezervasyon adında bir tablomuz olsun. Tablomuz oluşturmak için;   1 Create Table rezervasyon 2 ( üç rezID int, 4 Adi varchar(50), 5 Soyadi varchar(50), altı Constraint PK_DatabaseName_rezervasyon Primary Key(rezID) 7 )     Yukarıdaki SQL script’ini yazarak tablomuzu oluşturduk. tablomuzda kayıt bulunduğu varsayalım. Makalemizin asıl amacı olan bir kaydı sildiğimiz de onu nasıl öbür tabloda tutabiliriz.     1 create trigger TR_silinenRezervasyon 10 Rezervasyon 2 After delete üç As 4 Begin 5 altı Declare @ID int 7 Declare @ad varchar(50) 8 Declare @soyad varchar(50) 9 Select @ID=rezID from deleted on select @ad=Adi from deleted 11 Select @soyad=Soyadi from deleted 12 insert into silinenRezervasyonlar values(@ID,@ad,@soyad) 13 14 End     Trigger ile gördüğümüz benzeri veri tabanımızdaki tablodan bir kayıt sildiğimizde, silinen kaydı başka tabloda tutabiliyoruz.


Yapılan Yorumlar
Erdem OFLAZ

Bir mum, diğer mumu tutuşturmakla ışığından bir şey kaybetmez.
 Kategoriler
 Popüler yazılar