Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

use met

go

If OBJECT_ID('prod') is not null


drop table prod;
go

create table prod


(id int not null,
pname varchar(128) not null,
total_sales money not null)
go

insert into prod values (1,'apples',0)


insert into prod values (2,'oranges',0)
go

if OBJECT_ID('ords') is not null


drop table ords;
go

create table ords


(id int identity(1,1) not null,
prodid int not null,
quantity int not null)
go
select * from prod;
select * from ords;
go
create trigger ordTrigger
on ords for insert
as
update prod
set total_sales = total_sales + i.quantity
from inserted i inner join prod
on i.prodid = prod.id
go
insert into ords values (1,10)
insert into ords values (1,10)
insert into ords values (1,7)
insert into ords values (2,8)
select * from prod
select * from ords
go

create trigger ProdTrigger


on prod after update
as
print 'There is an update'
go

insert into ords values (2, 150)


select * from prod
select * from ords
go
insert into ords values (1,10)
select * from prod
go
select * from prod;
go

create trigger ProdTriggerDel


on prod instead of delete
as
print 'You can not delete'
go

delete
from prod
where id=1
go

select * from prod;


select * from ords;
go

Create trigger ordTriggerDel


on ords for delete --after
as
--read quantity from the deleted.
--Update the total in prod.
update prod
set total_sales = total_sales - i.quantity
from deleted i inner join prod
on i.prodid = prod.id

select * from ords


select * from prod

delete from ords


where id = 4
go

Disable trigger ordtriggerdel on ords


go
Enable trigger ordtriggerdel on ords
go

--drop table ords


--drop table prod

You might also like