Trigger Ogrenıoruz
–Trigger Tanımlıoruz
– Trigger lar Update Delete İnsert te tetik alır performans acısından kulanılmaz
Create Trigger Test
on dbo.Categories
For insert
AS
declare @adi nvarchar(20)
declare @catId intselect @adi = CategoryName , @CatID = CategoryID from Inserted
update dbo.Categories
set
CategoryName = @Adi + ‘test’
Where CategoryID = @CatID
insert into dbo.Categories (CategoryName) VALUES (‘Boran’) –Trigger Test edioruz
Select * from dbo.Categories Create Trigger StokDus – Stok Miktarı dusuoruz Ornek yapıldı 2 tablodan
on dbo.satis
For insert
AS
declare @stok intdeclare @PID intselect @stok = Miktar, @PID = PID from inserted
update dbo.Urun
set StokMiktari = StokMiktari - @stok where PID = @PID
–insert into dbo.satis (SID ,PID,Miktar) VALUES (1,1,1)
–select * from dbo.Urun
– For / AFTER / instead of Trigger ları var
Create Trigger UrunSildirmeme –IRUn sildirme
On dbo.Products
instead Of deleteAS
declare @PID intselect @PID = ProductID from deleted
update dbo.Products
set Discontinued = 1 where ProductID = @PID
–Delete From dbo.Products where ProductID = 2
–select * from dbo.Products
Create Trigger Guncel –Trigger Update eventi
on dbo.Products
For UpdateAS
declare @eskiId intdeclare @yeniId intdeclare
@eskiM intdeclare @yeniM intselect @eskiId = ProductID , @eskiM =UnitsInStock from deleted
Select @yeniId = ProductID , @yeniM =UnitsInStock from inserted
Update dbo.Products Set
UnitsInStock = @eskiM
where ProductID = @eskiId
Update dbo.Products Set
UnitsInStock = @yeniM + 1
where ProductID = @yeniId –TEST
update dbo.Products
Set
UnitsOnOrder = 20
Where ProductID = 1
Burada Havadan Sudan Bahsedip yormadim sizi zmler ve sonular var