as
update 商品 set 数量 = 数量 - inserted.数量
from 商品, inserted
where 商品.pid = inserted.pid
10.3 在“商品”表建立删除触发器,实现“商品”表和“订单”表的级联删除。
create trigger goodsdelete trigger_商品_deleteon 商品
after delete
as
delete from 订单 where 订单.pid in (select pid from deleted)
10.4 在“订单”表建立一个更新触发器,监视“订单”表的“订单日期”列,使其不能被“update”.
create trigger trigger_订单_updateon 订单
after update
as
if update(订单日期)
begin
raiserror('订单日期不能手动修改',10,1)
rollback transaction
end
10.5 在“订单”表建立一个插入触发器,保证向“订单”表插入的货品必须要在“商品”表中一定存在。
create trigger trigger_订单_insert3on 订单
after insert
as
if (select count(*) from 商品, inserted where 商品.pid = inserted.pid)=0
begin
print '商品不存在'
rollback transaction
end
10.6 “订单”表建立一个插入触发器,保证向“订单”表插入的货品信息要在“订单日志”表中添加
alter trigger trigger_订单_inserton 订单
for insert
as
insert into 订单日志 select inserted.Id, inserted.pid,inserted.数量 from inserted
您可能感兴趣的文章:SQLServer触发器创建、删除、修改、查看示例代码sqlserver 触发器实例代码sqlserver中触发器+游标操作实现sqlserver 触发器教程SqlServer实现类似Oracle的before触发器示例SQLServer 触发器 数据库进行数据备份SqlServer触发器详解










