IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  digitalpanel

Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 16 Mart 2015, 12:09   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
sql serverda trigger sp key list




sql serverda trigger sp key list


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
sysobjects Tablosu Obje tipleri C = CHECK constraint D = Default or DEFAULT constraint F = FOREIGN KEY constraint L = Log FN = Scalar function IF = Inline table-function P = Stored procedure R = Rule PK = PRIMARY KEY constraint (type is K) RF = Replication filter stored procedure S = System table TF = Table function TR = Trigger U = User table UQ = UNIQUE constraint (type is K) V = View X = Extended stored procedure //U kulanıcı tabloları SELECT * FROM sysobjects WHERE (xtype = 'U') //TR trigger SELECT * FROM sysobjects WHERE (xtype = 'TR') //P trigger SELECT * FROM sysobjects WHERE (xtype = 'P') //anahtar sahaların gösterimi sp_MStablekeys [tbl_table] //sql servardan excele bilgi atmak sp_makewebtask @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]putfile = N'C:\WebPage3.xls', @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]='Select * from [tbl_table] ' CREATE TRIGGER TR_Deneme ON dbo.Deneme FOR INSERT,UPDATE AS DECLARE @vTemp1 VARCHAR(25), @vTemp2 VARCHAR(25), @vTemp12 VARCHAR(50), SELECT @vTemp1 = Temp1 , @vTemp2 = Temp2 FROM inserted SET @vTemp12 = @vTemp1 + @vTemp2 UPDATE Deneme SET Temp12 = @vTemp12 WHERE @vTemp1 = Temp1 AND @vTemp2 = Temp2 Bu örnekte görüldüğü gibi trigger tek kayıt eklendiğinde bu işlemi yapacaktır ve doğru çalışacaktır. Oysa birden fazla kayıt ekleme yaptığınızda ise sadece son kayıdın Temp21 alanı değişecektir. Birden fazla kayıt ekleme olduğunda tetikleyicinin çalışması için : Örnek 2 -------------------------------------------------------------------------------- CREATE TRIGGER TR_Deneme ON dbo.Deneme FOR INSERT,UPDATE AS UPDATE d SET d.Temp12 = i.Temp1 + i.Temp2 FROM Deneme d,inserted i WHERE d.Temp1 = i.Temp1 AND d.Temp2 = i.Temp2 Yukarıdaki yapı birden fazla kayıt eklendiğinde herbir kayıt için tetikleyicinin doğru çalışmasını sağlayacaktır. inserted tablosu üzerinden ana tabloya inner join kurarak sorunu çözebiliriz. Yani birden fazla kayıt ekleme olması düşünülen tablolardaki tetikleyiciler için inserted tablosundan değişkenlere değer atamak yerine update query içinde inserted tablosu üzerinden join kurarak ve yapılacak işlemleri T-SQL kodlarıyla değil SQL kodlarıyla yaparak her bir eklemede tetikleyicinin çalışması sağlanabilir.Daha karmaşık yapılarda IF yerine CASE WHEN <değişken>"Oparatör"<Değer> THEN <Sonuç> ELSE <Sonuç> END kullanarak çözebilirsiniz. Daha da karmaşık yapılar için daha çok SQL komutu kullanmak gerekebilir.


__________________
SusKun ve Sessiz Mürekkep...


Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet sohbet
Cevapla

Etiketler
key, list, serverda, sp, sql, sql serverda trigger sp key list, trigger


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
MySQL ile Trigger Oluşturma hAte MySQL 0 16 Ekim 2014 15:15
Mysql de trigger hAte MySQL 0 09 Ekim 2014 04:28
/ns list * * /cs list * * userlere yasaklamak GhostLy Services Hazır Kodlar 0 18 Ağustos 2009 08:22