husonet | Tarih: 11.08.2017
SQL Before insert trigger
SQL Before insert trigger'ı nasıl yazılır?
Merhabalar Arkadaşlar, (Not:Lütfen öneri ve sorularınızı yorum olarak atınız. Teşekkürler şimdiden)
Bu yazımda veritabanındaki bir tabloda bir alanda değişiklik olduğunda farklı bir alana bir değişken insert yada update yapmak istediğimizde nasıl yol izlemeliyizin cevabı niteliğinde bir paylaşım olacaktır. Bu işlemi trigger yazarak yapabiliriz. İşlem hangi tabloyla ilişkili ise o tabloya ait trigger oluşturarak başlayalım. Sonrasında işlem insert yada update işleminden önce ise BEFORE INSERT TRIGGER, eğer insert yada update işleminden sonra gerçekleşecek ise AFTER INSERT TRIGGER yazmalıyız. Ben işlemimi işlem gerçekleşmeden önce gerçekleştireceğim için aşağıda BEFORE UPDATE TRIGGER örneği paylaştım. Bunu değiştirerek kendi işleminize uygun revize edebilirsiniz.
USE [DATABASENAME]
GO
/****** Object: Trigger [dbo].[TRIGGER_ADI] Script Date: Yazılış tarihi ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TRIGGER_ADI] ON [dbo].[TABLO_ADI] AFTER UPDATE
AS
BEGIN
DECLARE @DEGISEN_ALAN_ADI INT, @ID INTEGER
SELECT @DEGISEN_ALAN_ADI = I.DEGISEN_ALAN_ADI , @ID = I.ID FROM INSERTED I
IF (@DEGISEN_ALAN_ADI = 1) OR (@DEGISEN_ALAN_ADI = 7)
BEGIN
UPDATE PLAKA_DETAY SET TETIKLENECEK_ALAN_ADI= @DEGISEN_ALAN_ADI
WHERE ID = @ID
END
END
İyi çalışmalar.