Forum

Trigger İf Insert v...
 
Bildirimler
Hepsini Temizle

Trigger İf Insert ve Update işlemi

2 Yazılar
2 Üyeler
0 Reactions
2,867 Görüntüleme
(@erdoganturkmen)
Gönderiler: 110
Estimable Member
Konu başlatıcı
 

Merhabalar , 

 Haber tablosuna insert işlemi yapılmadan önce güvenlik amacıyla bir alana göndereceğim verinyi kontrol ederek insert yada update işlemini yaptırmak istiyorum. Örneğin ;

INSERT INTO HABER (HABERADI,GUVENLIK)  VALUES ('DENEME','KONTROL')

Insert trigger da GUVENLIK alanını  kontrol ederek ona göre kayıt yapılmasını sağlamak istiyorum. Yazdığım trigger aşağıdaki gibi : 

 

ALTER TRIGGER [dbo].[TRGHABERINSERT] 

   ON  [dbo].[HABER]

   INSTEAD OF  INSERT

AS 

USE [HABER];

SET NOCOUNT ON;

if (inserted.GUVENLIK = 'KONTROL')

begin

INSERT INTO haber

(

HABERBASLIK,

GUVENLIK 

)

VALUES

(

INSERTED.HABERBASLIK,

INSERTED.GUVENLIK

)

end

SET NOCOUNT OFF;

 Ancak aldığım hata aşağıdaki gibidir : 

Msg 154, Level 15, State 1, Procedure TRGHABERINSERT, Line 5

a USE database statement is not allowed in a procedure, function or trigger. 

 

Yardımcı olursanız sevinirim. İyi çalışmalar. 

 
Gönderildi : 25/01/2013 01:20

(@GokhanDOGAN)
Gönderiler: 780
Prominent Member
 

Merhaba

örnek syntax aşağıdaki gibi fakat önerim bunu trigger ile değilde application level'de yapmanız. Bu tabloya insert işleminden önce bi method ile başka tablo'ya başka işlemleri yazdırıp devamını getirebilirsiniz. Böylece trigger gelen her sorguyu dinleyip ayıt etme zamanından db kurtulur.

Ayrıca trigger deadlock'durumlarını da izole debilirsiniz. 

http://msdn.microsoft.com/en-us/library/ms189799.aspx 

 
Gönderildi : 26/01/2013 16:44

Paylaş: