/*1,建商品表(Store),订单表(orders),日志表(Logs) 2,创建订单表插入触发器,实现插入一条订单信息,商品表中商品数量相应减少,订单中的总金额相应增加。 3,创建订单表更新触发器,实现更新一条订单信息,商品表中商品数量相应变化,订单中的总金额相应变化。(和2类似) 4,创建日志表触发器,实现更新商品表价格变化情况。 */ use samp go create table Store ( id uniqueidentifier primary key, productid int not null, productprice money not null default 1, productch nvarchar(80) not null, productdate datetime not null, nownumber int not null ); create table orders ( orderid int primary key, productid int not null, buynumber int not null default 1, buypricr money not null, noworderprice money default 0 ) create table logs ( id uniqueidentifier primary key, operatedatetime datetime, productid int , oldprice money, newprice money ) insert into store values(newid(),1001,5000,'联想','2013-5-6',50) insert into store values(newid(),1002,6000,'apple','2013-5-6',50) insert into orders(orderid,productid,buynumber,buypricr) values(10013,1001,5,6000) --select * from store left join orders on store.productid=orders.productid --创建触发器 /*2,创建订单表插入触发器,实现插入一条订单信息,商品表中商品数量相应减少,订单中的总金额相应增加。 3,创建订单表更新触发器,实现更新一条订单信息,商品表中商品数量相应变化,订单中的总金额相应变化。(和2类似) 4,创建日志表触发器,实现更新商品表价格变化情况。 */ create trigger tri_order_noworderprice on orders after insert as begin declare @noworderprice money; declare @buynumber int; declare @productid int; select @productid=productid,@buynumber=buynumber from inserted; select @noworderprice=inserted.buynumber*inserted.buypricr from inserted; update orders set noworderprice=@noworderprice where productid=@productid; update store set nownumber=nownumber-@buynumber where productid=@productid; end;