Merhaba Update trigger ekleme işlemi yapalım. Update trigerı yazarken bilginin önceki ve sonraki halini yakalayabiliriz., from deleted, inserted deyimleri ile.
aşağıdaki Update komutu çalıştığında Mesaj tablosuna ekleme yapan trigger yazalım..
UPDATE [ABCHastane].[dbo].[tblMuayene]
SET [MuayeneTarihi] = '04.12.2018'
WHERE MuayeneNo=1
GO
Triggerımızı yazalım..
USE [ABCHastane]
GO
CREATE TRIGGER [dbo].[MTarihiDegisti]
ON [dbo].[tblMuayene]
for UPDATE
AS
BEGIN
DECLARE @ET datetime, @YT datetime, @HastaNo int, @Mesaj varchar(max)
select @ET= MuayeneTarihi from deleted
select @YT=MuayeneTarihi from inserted
select @HastaNo=HastaNo from inserted
set @Mesaj=' Sayın Hastamız ' +
Convert(varchar(max),@ET,130) + ' tarihli muayene tarihiniz ' +
Convert(varchar(max),@YT,130) + ' olarak değiştirilmiştir.'
insert into dbo.tblMesaj
(HastaNo,EMTarihi,YMTarihi,Mesaj)
VALUES
(@HastaNo, @ET,@YT, @Mesaj)
END
Update komtu çalıştığımda mesaj tablosunda yapaılan ekleme kaydı görülecektir. Biz burda hem eski tarihi hem de yeni tarihi from deleted ve from inserted deyimleri yakalamış oldu. Burada , update işlemi yapılırken önce silme ve sonra ekleme işlemi yapıldığını unutmamak gerekir. Yazı ekimizde kulladığımız veri tabanı scripti bulunmaktadır.
hastane.sql (17,14 kb)