Selamlar,

Benim bir problemim var,

3 tane tablom var; biri register bunda registerId, name ve value columnları var. diğeri range tablom buradada rangeId, minValue ve maxValue columnlarım var. son olarakta logs tablom var burada ise logId, registerId, addedDate ve Durum columlarım var.

Yapmak istediğim şu trigger ile; register tablosunda update olduğunda value değerini alıp range tablosundaki min value ve max value ile kıyaslayıp eğer min ve max arasındaysa bu value değeri gidip log tablosuna durum columnu başarılı diye kaydetmek değilse yine logs tablosuna başarısız diye kaydetmek.

Ornek tablo Register 1, "Test", 1500 id, name, value

range 1, 1000, 5000 id,minValue,maxValue

diyeceğimki eğer register tablosundaki value değeri update olursan yani 1500'ü adam 2000 yaparsa git range tablosunda min ve max değerlerine bak bu aralıktaysa loga başarılı diye kaydet değilse başarısız diye kaydet registerId'yide yazdır ki hangi registerIdye ait oldugu belli olsun.

Sorum bu tam olarak umarım anlatabilmişimdir. Yardımcı olursanız çok sevinirim.

soruldu: 07 Ağu '15, 08:40

siyano's gravatar image

siyano
0111
cevap kabul oranı: 0%


Merhaba, yaklaşık aşağıda ki gibi olacaktır.

CREATE TRIGGER Karsilastir ON RegisterTablosu AFTER UPDATE
AS 
 DECLARE @Value INT      DECLARE @Durum INT

 IF Exists(SELECT * FROM updated)
 BEGIN
 SELECT @Value = Value from updated
 SELECT @Durum = COUNT(*) FROM rangeTablosu where maxdeger <= @Value and Mindeger=> @Value
    if (@Durum > 00)
        begin
        INSERT INTO LOGTABLO ........ BAŞARILI
        else
        INSERT INTO LOGTABLO ........ BAŞARISIZ
        end
 END
permanent link

cevaplandı: 08 Ağu '15, 16:24

r3boot's gravatar image

r3boot
20661017
cevap kabul oranı: 50%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×77
×53
×2

Soruldu: 07 Ağu '15, 08:40

Görüntüleme: 438 kez

Son güncelleme: 08 Ağu '15, 16:24

powered by BitNami OSQA