SQL Server:触发器实例详解

2020-07-04 06:03:17易采站长站整理

as

update 商品 set 数量 = 数量 - inserted.数量

from 商品, inserted

where 商品.pid = inserted.pid

10.3 在“商品”表建立删除触发器,实现“商品”表和“订单”表的级联删除。


create trigger goodsdelete trigger_商品_delete

on 商品

after delete

as

delete from 订单 where 订单.pid in (select pid from deleted)

10.4 在“订单”表建立一个更新触发器,监视“订单”表的“订单日期”列,使其不能被“update”.


create trigger trigger_订单_update

on 订单

after update

as

if update(订单日期)

begin

raiserror('订单日期不能手动修改',10,1)

rollback transaction

end

10.5 在“订单”表建立一个插入触发器,保证向“订单”表插入的货品必须要在“商品”表中一定存在。


create trigger trigger_订单_insert3

on 订单

after insert

as

if (select count(*) from 商品, inserted where 商品.pid = inserted.pid)=0

begin

print '商品不存在'

rollback transaction

end

10.6 “订单”表建立一个插入触发器,保证向“订单”表插入的货品信息要在“订单日志”表中添加


alter trigger trigger_订单_insert

on 订单

for insert

as

insert into 订单日志 select inserted.Id, inserted.pid,inserted.数量 from inserted

您可能感兴趣的文章:SQLServer触发器创建、删除、修改、查看示例代码sqlserver 触发器实例代码sqlserver中触发器+游标操作实现sqlserver 触发器教程SqlServer实现类似Oracle的before触发器示例SQLServer 触发器 数据库进行数据备份SqlServer触发器详解

相关文章 大家在看