Advertisement
Guest User

deliibram

a guest
Dec 8th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. create trigger isbn_sil
  2. on kitaplar
  3. after delete
  4. as
  5. declare @isbn int
  6. if @@ROWCOUNT >0
  7. begin
  8. select @isbn = isbn from delete
  9. delete from emanet where @isbn = isbn
  10. delete from kitap_kategori where @isbn=isbn
  11. delete from kitap_yazar where @isbn = isbn
  12. end
  13.  
  14. ////// 10034 isbn numaralı kitap yoksa uyarı verecek olmadığına dair //////
  15. select * from kitaplar
  16.  
  17. delete from kitaplar
  18. where isbn= 10034
  19.  
  20.  
  21. ____________________________________________________________________________________
  22. --------//Tablo üzerinde güncelleme işlemi ve uyarılar
  23. create trigger isbn_güncelle on kitaplar
  24. on kitaplar
  25. after update
  26.  
  27. as
  28. declare @eski_isbn int
  29. declare @yeni_isbn int
  30.  
  31. if @@GROWCOUNT > 0
  32. begin
  33. select @eski_isbn =isbn from deleted
  34. select @yeni_isbn = isbn from inserted
  35. update emanet_isbn set = @yeni_isbn
  36. where isbn = @eski_isbn
  37. update kitap_kategori set = @yeni_isbn
  38. where isbn = @eski_isbn
  39. update kitap_yazar set = @yeni_isbn
  40. where isbn = @eski_isbn
  41. end
  42.  
  43. update kitaplar set isbn = 120
  44. where isbn = 1
  45.  
  46. ________________________________________________________________
  47. // sadece belirli sütunlarda yapmak işçin
  48.  
  49. if UPDATE[isbn]
  50. ____________________________________________________
  51. //instead of tetikleyicisi / işlemi tabloya yansıtmadan gerçekleştirir
  52.  
  53. create trigger kitap_kontrol
  54. on kitap_kutuphane
  55. instead of insert
  56. as
  57. ////sistemde tanımlı değil ise ////
  58.  
  59. if not exist(select * from inserted
  60. inner join kitaplar on kitaplar_isbn = inserted.isbn)
  61. or not exists (select * from inserted
  62. inner join kütüphane on inserted.kut_no = kütüphane.kut_no)
  63.  
  64. begin
  65. print "girilen isbn numarasına ait veya girilen kütüphane numarasına ait kayıt mevcut değil"
  66.  
  67. rollback
  68.  
  69. end
  70. /////////////////tanımlı ise insert ediyoruz
  71. else
  72. begin
  73. declare @girilen_isbn int
  74. declare @girilen_kutuphane int
  75. declare @girilen_miktar int
  76.  
  77. select @girilen_isbn = isbn,
  78. @girilen_miktar = miktar from inserted
  79.  
  80. //////// Eğer aynısı var ise güncelleme işlemi yapacak kodu yapıyoruz şimdi
  81.  
  82. if exists (select * from kitap_kutuphane
  83. where isbn=@girilen_isbn and kut_no = @girilen_kutuphane)
  84. begin
  85. rollback
  86. update kitap_kütüphane set miktar = miktar + @girilen_miktar
  87. where isbn = @girilen_isbn and kut_no + @girilen_kutuphane
  88.  
  89. end
  90. else
  91. insert into kitap_kutuphane
  92. select * from inserted
  93. end
  94.  
  95. ____
  96.  
  97.  
  98. drop trigger silme_engeli on kitaplar // kitaplar tablosunda silme engeli
  99. drop trigger silme_engeli on all server /// bütün server üzerinde silme engeli
  100.  
  101. alter tablo kitaplar
  102. disable trigger isbn_guncelle
  103.  
  104.  
  105. disable trigger isim_güncelle
  106.  
  107. alter table kitaplar
  108. disable trigger all
  109.  
  110. alter tablo kitaplar
  111. enable trigger all
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement