Sayfayı Yazdır | Pencereyi Kapat

SQL Server Trigger

Nereden Yazdırıldığı: Datakent
Kategori: Diğer bölümler
Forum Adı: Microsoft SQL Server
Forum Tanımlaması: Microsoft SQL Server ile ilgili soru / sorun ve paylaşım bölümü
URL: http://forum.datakent.com/forum_posts.asp?TID=2789
Tarih: 18.Nisan.2024 Saat 07:06


Konu: SQL Server Trigger
Mesajı Yazan: murat turan
Konu: SQL Server Trigger
Mesaj Tarihi: 19.Nisan.2015 Saat 10:34
FATFIS = üzerinde işlem yapılacak TABLO adı

//--------------- update ornegi
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER FATFIS_dWebsis_Fatura
   ON  FATFIS
   AFTER UPDATE
AS 
BEGIN
     -- UPDATE İŞLEMİDE DE     inserted   sanal tablosu kullanılıyor !!!
SET NOCOUNT ON;
DECLARE @REFID INT, @FATFISIPTALFLAG INT;
-- güncellenmekte olunan satırdan bazı alanların okunması
SELECT @REFID = i.FATFISREFNO, @FATFISIPTALFLAG = i.FATFISIPTALFLAG FROM inserted i;

IF @FATFISIPTALFLAG = 1
BEGIN
-- okunan parametrelere istinaden farklı bir tabloda işlem yapılması
UPDATE dbo.websis_fatura SET
FATURA_DRM = 5
WHERE ETA_ID = @REFID
END

END
GO


//--------------- delete orneği
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER FATFIS_chkWebsis_fatura
 ON FATFIS
   FOR DELETE
AS 
BEGIN
     -- DELETE İŞLEMİDE DE     deleted   sanal tablosu kullanılıyor !!!
SET NOCOUNT ON;
DECLARE @REFID INT;
SET @REFID = 1;

-- işlem yapılmakta olunan satırdan veri okunması (silinmekte olunan satırdan)
SELECT @REFID = FATFISREFNO FROM deleted

IF EXISTS(SELECT fatId FROM dbo.websis_fatura WHERE ETA_ID = @REFID)
BEGIN
UPDATE dbo.websis_fatura SET
FATURA_DRM = 5
WHERE ETA_ID = @REFID
END

END
GO



-------------
http://www.kasatakip.com - Kasa Takip  |  http://www.caritakip.com - Cari Takip  |  http://www.evraktakip.com - Evrak Takip  |  http://www.etasqlmobil.com - ETA SQL Mobil



Sayfayı Yazdır | Pencereyi Kapat