Forum

Trigger numeric değ...
 
Bildirimler
Hepsini Temizle

Trigger numeric değer döndürme

2 Yazılar
1 Üyeler
0 Reactions
695 Görüntüleme
(@OsmanAKSU)
Gönderiler: 14
Eminent Member
Konu başlatıcı
 

Merhaba arkadaşlar;

 Create TRIGGER [dbo].[CMS_PrimOran]
   ON  [dbo].[Prim_Detay]
   AFTER INSERT
AS
BEGIN
    Declare @Puan int,@Prim Numeric(18,2) ,@ID int,@Yuzde int
    SET NOCOUNT ON;
    Select  @Puan=Puan,@ID=ID,@Yuzde=Yuzde from Inserted
   
            Set @Prim=@Puan * @Yuzde/100
               Update Prim_Detay Set Prim=@Prim where ID=@ID
       
END

 Bu şekilde bir trigger yazdım,amacım ise tablomda puan ,yuzde ve prim diye sutunlarım var kayıt eklendikten sonra puanın yüzdesini alıp prim sutununa yazdırmak istiyorum ve bunu yazzdırıyorum ama Sorun int olarak yazıyor yani dönen değer atıyorum 2.7 olması gerekiken direkt 2.0 olarak yazıyor..

 

 
Gönderildi : 16/03/2012 04:37

(@OsmanAKSU)
Gönderiler: 14
Eminent Member
Konu başlatıcı
 

Matematiksel işlem yaparken integer değeri integer ile çarpımı integer döndürüyor..ama integer bir değeri decmal ile çarptığımızda sonuc decimal oluyor..Çözüm aşağıdaki gibi..

ALTER TRIGGER [dbo].[CMS_PrimOran]
   ON  [dbo].[Prim_Detay]
   AFTER INSERT
AS
BEGIN
    Declare @Puan int,@ID int,@Yuzde decimal(10,2) ,@Sonuc decimal(10,2)
    SET NOCOUNT ON;
    Select  @Puan=Puan,@ID=ID,@Yuzde=Yuzde from Inserted
    

            Set @Sonuc=@Puan * @Yuzde/100
             Update Prim_Detay Set Prim=@Sonuc where ID=@ID

        
END

 
Gönderildi : 18/03/2012 01:36

Paylaş: