复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59/*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;
转载于:https://www.cnblogs.com/zhanying/p/3399223.html
最后
以上就是强健战斗机最近收集整理的关于sql触发器的全部内容,更多相关sql触发器内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复