没有合适的资源?快使用搜索试试~ 我知道了~
触发器实例教程【CSDN精品推荐】
需积分: 9 33 下载量 100 浏览量
2008-07-31
09:10:30
上传
评论
收藏 311KB PDF 举报
温馨提示
试读
12页
目录为:<br>触发器的概念和工作原理,<br>创建触发器,<br>触发器实施数据完整性的实例,<br>查看、修改和删除触发器<br>触发器的限制和注意事项<br>【CSDN精品推荐】
资源推荐
资源详情
资源评论
下载
下载
下载
第11章 触 发 器
11.1 触发器的概念和工作原理
触发器是一种实施复杂的完整性约束的特殊存储过程 ,当对它所保护的数据进行修改时自
动激活,防止对数据进行不正确、未授权或不一致的修改。触发器不像一般的存储过程,不可
以使用存储过程的名字来调用或执行。当用户对指定的表进行修改 (包括插入、删除或更新)时,
SQL Server将自动执行在相应触发器中的 S Q L 语句。
我们在这里只讲在触发器中使用的两个专用表
—
i n s t e r t e d表和d e l e t e d表。具体的执行步
骤将在讲解每种触发器时讲述。
SQL server为每个触发器都创建了两个专用表: i n s e r t e d表和d e l e t e d表。这是两个逻辑表,
由系统来维护,不允许用户直接对这两个表进行修改。它们存放于内存中,不存放在数据库
中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器工作完成后,与该触发
器相关的这两个表也会被删除。
• i n s t e r t e d表:存放由于i n s e r t 或U P D AT E语句的执行而导致要加到该触发器作用的表中去
的所有新行。即用于插入或更新表的新行值,在插入或更新表的同时,也将其副本存入
i n s t e r t e d表中。因此,在i n s t e r t e d表中的行总是与作用表中的新行相同。
• d e l e t e d 表:存放由于D E L E T E或U P D AT E语句的执行而导致要从被该触发器作用的表中
删除的所有行。也就是说,把被作用表中要删除或要更新的旧行移到 d e l e t e d表中。因此,
d e l e t e d表和被作用表不会有相同的行。
对I N S E RT操作,只在 i n s t e r t e d 表中保存所插入的新行,而 d e l e t e d 表中无行数据。对于
D E L E T E 操作,只在d e l e t e d表中保存被删除的旧行,而 i n s t e r t e d表中无行数据。对于 U P D AT E
操作,可以将它考虑为 d e l e t e 操作和i n s e r t操作的结果,所以在 i n s e r t e d 表中存放着更新后的新
行值,d e l e t e d 表中存放着更新前的旧行值。
具体触发器的执行步骤我们将在下面结合具体例子详细讲解。
11.2 创建触发器
11.2.1 一般语法
以下是创建触发器的一般语法:
C R E ATE TRIGGER[OWNER.]trigger_name
O N [ O W N E R . ] t a b l e _ n a m e
F O R [ I N S E RT,U P D AT E,D E L E T E ]
[WITH ENCRY P T I O N ]
A S
s q l _ s t a t e m e n t s
在这里,
剩余11页未读,继续阅读
资源评论
dxcute
- 粉丝: 1
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功