INSTEAD OF触发器使用的问题
创建触发器:
create trigger update_读者信息
on 读者信息
instead of update
as
if update(日期)
begin
print '不能修改日期'
rollback
end
go
测试该触发器:
update 读者信息 set 日期=getdate() where 姓名='ABC'
显示:不能修改日期,说明该触发器被触发了
可是对INSTEAD OF触发器我不太明白:
1、因为操作的过程中,无论更新哪一列,都会触发该触发器。所以,只要使用了INSTEAD OF触发器,该表所有的列都不能被更新了。这是正确的吗?对此有些疑惑,如果是正常了,用INSTEAD OF触发器有什么用呢?
2、INSTEAD OF并不表示在进行更新操作之前执行触发器,也不表示在进行更新操作之后执行触发器。按照字面意思,就是忘掉更新操作,转而执行后面的操作。这样理解对吗?
可不可以理解为INSTEAD OF触发器是用来限制对表/视图进行添加、修改、删除操作的??
create trigger update_读者信息
on 读者信息
instead of update
as
if update(日期)
begin
print '不能修改日期'
rollback
end
go
测试该触发器:
update 读者信息 set 日期=getdate() where 姓名='ABC'
显示:不能修改日期,说明该触发器被触发了
可是对INSTEAD OF触发器我不太明白:
1、因为操作的过程中,无论更新哪一列,都会触发该触发器。所以,只要使用了INSTEAD OF触发器,该表所有的列都不能被更新了。这是正确的吗?对此有些疑惑,如果是正常了,用INSTEAD OF触发器有什么用呢?
2、INSTEAD OF并不表示在进行更新操作之前执行触发器,也不表示在进行更新操作之后执行触发器。按照字面意思,就是忘掉更新操作,转而执行后面的操作。这样理解对吗?
可不可以理解为INSTEAD OF触发器是用来限制对表/视图进行添加、修改、删除操作的??
...全文
相关推荐
第触发器PPT学习教案.pptx
- 一个表可以有多个AFTER触发器,但每个操作(INSERT、UPDATE、DELETE)最多只能有一个INSTEAD OF触发器。 - 创建触发器时需要考虑权限、命名规则和是否加密等问题。6.
数据库触发器是一种存储过程
总的来说,数据库触发器是实现数据库规则和业务逻辑的重要工具,但应谨慎使用,因为过度使用或设计不当的触发器可能导致性能问题和维护困难。在设计数据库架构时,应权衡触发器的必要性和其对数据库性能的影响。
数据库实验报告(基本操作实验)
INSTEAD OF 触发器的创建与使用#### 创建INSTEAD OF触发器当直接更新视图导致问题时,可以通过创建INSTEAD OF触发器来解决这个问题。
Sql Server触发器的使用
- **Instead Of触发器**:这种触发器在触发操作前执行,可以替代实际的DML操作。Instead Of触发器允许你控制插入、更新或删除的数据,例如进行额外的验证或数据转换。
SQLServer开发人员应聘经常问到的问题
- **定义**:INSTEAD OF 触发器是一种特殊类型的触发器,当对触发它的表执行INSERT、UPDATE或DELETE操作时,INSTEAD OF 触发器会代替这些操作并执行自定义代码。


数据库(包含打印,安装,报表)
