60 likes | 181 Views
BÖLÜM 10. ÖRNEKLER. 1- mus_satis tablosuna kayıt girildiğinde aynı kaydı stok_hareket tablosuna ekleyen triggerı yazınız. CREATE TRIGGER trg ON mus_satis FOR INSERT AS DECLARE @kod SMALLINT DECLARE @adet SMALLINT SET @kod=( SELECT barkod FROM INSERTED )
E N D
BÖLÜM 10 ÖRNEKLER
1- mus_satis tablosuna kayıt girildiğinde aynı kaydı stok_hareket tablosuna ekleyen triggerı yazınız. CREATE TRIGGER trg ON mus_satis FOR INSERT AS DECLARE @kod SMALLINT DECLARE @adet SMALLINT SET @kod=(SELECT barkod FROM INSERTED) SET @adet=(SELECT adet FROM INSERTED) INSERT INTO stok_hareket (tarih, barkod, giden) VALUES(GETDATE(),@kod,@adet)
2- Aşağıdaki tabloyu veren sorguyu yazınız. Urun_adi adet -------- ------ Gofret 53 Sakız 44 SELECT urun_adi, SUM(gelen-giden) FROM urunler, stok_hareket WHEREurunler. barkod=stok_hareket. barkodGROUP BY barkod, urun_adi
3- Girilen yeni KDV değerini eski KDV değeri ile değiştiren ve yeni KDV’ye göre fiyatı güncelleyen programı yazınız. EXEC kdvguncelle 18.20 CREATE kdvguncelle @ekdv TINYINT @ykdv TINYINT AS DECLARE @fark TINYINT SET @fark=(@ykdv-@ekdv) UPDATE urunler SET fiyati=fiyati*(1+@fark/100) WHERE kdv=@ekdv UPDATE urunler SET kdv=@ykdv WHERE kdv=@ekdv
4- Mus_satıs tablosundan herhangi bir müşteriye ait tüm bilgileri sildiğimiz zaman stok_hareket tablosundaki onunla ilgili bütün kayıtları silen triggerı yazınız. CREATE TRIGGERtrgON mus_satis FOR DELETED DECLARE @no SMALLINT DECLARE @adet SMALLINT DECLARE cadiCURSOR FOR SELECTbarkod, adet FROM DELETED Opencadi Fetchnextfromcadiinto @no, @adet Deletefrom stok_hareket wherebarkod=@no and adet=@adet WHILE @@fetch_status=0 BEGIN FETCH NEXT FROMcadiINTO @no, @adet DELETE FROM stok_hareket WHEREbarkod=@no AND adet=@adet END CLOSE cadi DEALLOCATE cadi