上一篇:使用Inserted和Deleted表 >>
结合触发器和事务处理
结合触发器和事务处理
触发器和事务是一个强有力的结合。你可以使用语句ROLLBACK TRANSACTION来取消触发触发器的动作。考察下面的触发器:
CREATE TRIGGER tr_webusers ON webusers FOR INSERT,UPDATE,DELETE AS
IF DATENAME(dw,GETDATE())=
”Tuesday”ROLLBACK TRANSACTION
该触发器阻止任何人在星期二向表webusers内插入新的记录,删除记录或修改记录。如果你企图在星期二向表中添加新记录,该动作会被语句ROLLBACK TRANSACTION回转回去。
假如你目前正为如何阻止某一个特定的人访问你的网站而困惑。你不想让这个家伙能够在你的网站上注册。为了做到这一点,你可以创建一个和表webusers相关的触发器,该触发器用于检查这个家伙的姓名,如下所示:
CREATE TRIGGER tr_webusers FOR INSERT,DELETE,UPDATE AS
IF EXISTS(SELECT user_name FROM Inserted WHERE user_name=
”Andrew Jones”)ROLLBACK TRANSACTION
该触发器阻止姓名为Andrew Jones的人添加入表webusers内,当姓名Andrew Jones包含在某个INSERT,DELETE或UPDATE语句内时,该动作就会被语句ROLLBACK TRANSACTION 倒转回去。
下一篇:使用计划任务 >>
相关文章:
- · FORM的域对应多值的处理
- · Text Area的处理
- · 在这章中
- · 接受一个Query字段
- · 对Query字段进行Encode操作
- · 多参数以及多值的Query字段处理
- · 将QueryString集合所有参数一并输出
- · 什么情况下不要使用Query字段
- · 重引导用户到另一个主页位置
- · Active Server Pages是怎样工作的?
- · 在这章中
- · Sessions的使用和处理
- · Session的内容
- · Session结束的控制
- · Sessions事件
- · Session是怎样工作的
- · Active Server Pages是怎样工作的?
- · 在这章里面
- · 使用Application对象
- · 全部显示Application对象
- · Application事件
- · 聊天室应用
- · 创建聊天室主页
- · 修改Global
- · 创建信息发送页
- · 创建显示页
- · Application事件
- · Application对象
- · ObjectContext对象
- · Request对象
- · Response对象
- · Server对象
- · Session对象
- · 附录A
- · Browser Capabilities组件
- · Content Linking组件
- · Content Rotator组件
- · Counters组件
