Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create trigger isbn_sil
- on kitaplar
- after delete
- as
- declare @isbn int
- if @@ROWCOUNT >0
- begin
- select @isbn = isbn from delete
- delete from emanet where @isbn = isbn
- delete from kitap_kategori where @isbn=isbn
- delete from kitap_yazar where @isbn = isbn
- end
- ////// 10034 isbn numaralı kitap yoksa uyarı verecek olmadığına dair //////
- select * from kitaplar
- delete from kitaplar
- where isbn= 10034
- ____________________________________________________________________________________
- --------//Tablo üzerinde güncelleme işlemi ve uyarılar
- create trigger isbn_güncelle on kitaplar
- on kitaplar
- after update
- as
- declare @eski_isbn int
- declare @yeni_isbn int
- if @@GROWCOUNT > 0
- begin
- select @eski_isbn =isbn from deleted
- select @yeni_isbn = isbn from inserted
- update emanet_isbn set = @yeni_isbn
- where isbn = @eski_isbn
- update kitap_kategori set = @yeni_isbn
- where isbn = @eski_isbn
- update kitap_yazar set = @yeni_isbn
- where isbn = @eski_isbn
- end
- update kitaplar set isbn = 120
- where isbn = 1
- ________________________________________________________________
- // sadece belirli sütunlarda yapmak işçin
- if UPDATE[isbn]
- ____________________________________________________
- //instead of tetikleyicisi / işlemi tabloya yansıtmadan gerçekleştirir
- create trigger kitap_kontrol
- on kitap_kutuphane
- instead of insert
- as
- ////sistemde tanımlı değil ise ////
- if not exist(select * from inserted
- inner join kitaplar on kitaplar_isbn = inserted.isbn)
- or not exists (select * from inserted
- inner join kütüphane on inserted.kut_no = kütüphane.kut_no)
- begin
- print "girilen isbn numarasına ait veya girilen kütüphane numarasına ait kayıt mevcut değil"
- rollback
- end
- /////////////////tanımlı ise insert ediyoruz
- else
- begin
- declare @girilen_isbn int
- declare @girilen_kutuphane int
- declare @girilen_miktar int
- select @girilen_isbn = isbn,
- @girilen_miktar = miktar from inserted
- //////// Eğer aynısı var ise güncelleme işlemi yapacak kodu yapıyoruz şimdi
- if exists (select * from kitap_kutuphane
- where isbn=@girilen_isbn and kut_no = @girilen_kutuphane)
- begin
- rollback
- update kitap_kütüphane set miktar = miktar + @girilen_miktar
- where isbn = @girilen_isbn and kut_no + @girilen_kutuphane
- end
- else
- insert into kitap_kutuphane
- select * from inserted
- end
- ____
- drop trigger silme_engeli on kitaplar // kitaplar tablosunda silme engeli
- drop trigger silme_engeli on all server /// bütün server üzerinde silme engeli
- alter tablo kitaplar
- disable trigger isbn_guncelle
- disable trigger isim_güncelle
- alter table kitaplar
- disable trigger all
- alter tablo kitaplar
- enable trigger all
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement