Pythontr

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.