SQLServer 2000中的触发器使用
时间:2007-12-23 来源:不详 作者:迈克DB
USENorthwind
GO
CREATETRIGGEREmployee_Update
ONEmployees
FORUPDATE
AS
IFUPDATE(EmployeeID)
BEGIN
RAISERROR(’Transactioncannotbeprocessed.\
*****EmployeeIDnumbercannotbemodified.’,10,1)
ROLLBACKTRANSACTION
END
INSTEADOF触发器的工作过程
可以在表或视图上指定INSTEADOF触发器。执行这种触发器就能够替代原始的触发动作。INSTEADOF触发器扩展了视图更新的类型。对于每一种触发动作(INSERT、UPDATE或DELETE),每一个表或视图只能有一个INSTEADOF触发器。
INSTEADOF触发器被用于更新那些没有办法通过正常方式更新的视图。例如,通常不能在一个基于连接的视图上进行DELETE操作。然而,可以编写一个INSTEADOFDELETE触发器来实现删除。上述触发器可以访问那些假如视图是一个真正的表时已经被删除的数据行。将被删除的行存储在一个名为deleted的工作表中,就像AFTER触发器一样。相似地,在UPDATEINSTEADOF触发器或者INSERTINSTEADOF触发器中,你可以访问inserted表中的新行。
不能在带有WITHCHECKOPTION定义的视图中创建INSTEADOF触发器。
织梦好,好织梦
上一篇:全面接触SQL语法(一) 下一篇:防止ACCESS数据库被下载的9种方法
文章评论
共有位Admini5网友发表了评论 查看完整内容