SQL server语句大全(7)

2019-04-14 19:43

create trigger trig_del_transinfo on transinfo ----表

for delete ----删除触发器 as

----------判断backup table是否存在,不存在的就创建

if not exists(select * from sysobjects where name='backupTable') ----------创建表,并插入删除的数据 -----select into select * into backupTable from deleted else -----backupTable存在

insert into backupTable select * from deleted print '成功备份数据,备份数据为:' select * from backupTable go

select * from transinfo

delete from transinfo where cardid='1002'

----------------------------------------------------------------delete触发器

----------针对账户表禁止进行删除操作,用触发器实现此功能 create trigger trig_notdelete on banks for delete as

print '禁止删除数据'

rollback --------事物回滚,因为触发器是一个事物 go

-----------测试

delete from banks where cardid ='1001' select * from banks

-------------------------------------------------------------------------------update触发器

-----------跟踪用户的交易,交易金额超过20000元,则取消交易,并给出错误提示 --------分析:banks表上创建update触发器

-------------修改前的数据可以从deleted表中获取 -------------修改后的数据从inserted 表中获取 create trigger trig_Error on banks for update as

declare @beformoney money declare @aftermoney money

select @beformoney=currentmoney from deleted -----修改前的数据可以从deleted表中获取

select @aftermoney =currentmoney from inserted ---------修改后的数据从inserted 表中获取

if(ABS(@aftermoney-@beformoney) >20000) ----ABS()取绝对值 begin

print '交易金额'+cast(ABS(@aftermoney-@beformoney) as varchar) raiserror('每笔交易不能超过20000元',1,1)

----raiserror('显示错误信息',错误级别(0-18),错误状态)--------错误描述\\提示 rollback ----回滚,取消交易 end go

---------------------------删除触发器 drop trigger trig_Error

---------------------------------------------------触发器测试 select * from banks

update banks set currentmoney =currentmoney+40000 from banks where cardid ='1002'

update banks set currentmoney =currentmoney+200 from banks where cardid ='1002'


SQL server语句大全(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:用于银行贷款2013年生物活性修复替换材料项目可行性研究报告(甲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: