浅谈sqlserver触发器的使用

浅谈sqlserver触发器的使用

ID:24819508

大小:51.00 KB

页数:4页

时间:2018-11-16

浅谈sqlserver触发器的使用_第1页
浅谈sqlserver触发器的使用_第2页
浅谈sqlserver触发器的使用_第3页
浅谈sqlserver触发器的使用_第4页
资源描述:

《浅谈sqlserver触发器的使用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、浅谈SQLServer触发器的使用>>教育资源库  触发器建立的代码Create Trigger TG_ProjectNameOn table1After Update AsUpdate table2Set [工程名]=b.工程名from table2 a,inserted bage列;然而,允许INSTEADOF触发器引用这些列。有关更多信息,请参见CREATETRIGGER。  在INSTEADOF触发器中使用inserted和deleted表  传递到在表上定义的INSTEADOF触发器的inserted和deleted表遵从与传递到AFTER

2、触发器的inserted和deleted表相同的规则。inserted和deleted表的格式与在其上定义INSTEADOF触发器的表的格式相同。inserted和deleted表中的每一列都直接映射到基表中的列。  有关引用带INSTEADOF触发器的表的INSERT或UPDATE语句何时必须提供列值的规则与表没有INSTEADOF触发器时相同:  不能为计算列或具有timestamp数据类型的列指定值。  不能为具有IDENTITY属性的列指定值,除非该列的IDENTITY_INSERT为ON。当IDENTITY_INSERT为ON时,INSER

3、T语句必须提供一个值。INSERT语句必须为所有无DEFAULT约束的NOTNULL列提供值。  对于除计算列、标识列或timestamp列以外的任何列,任何允许空值的列或具有DEFAULT定义的NOTNULL列的值都是可选的。  当INSERT、UPDATE或DELETE语句引用具有INSTEADOF触发器的视图时,数据库引擎将调用该触发器,而不是对任何表采取任何直接操作。即使为视图生成的inserted和deleted表中的信息格式与基表中的数据格式不同,该触发器在生成执行基表中的请求操作所需的任何语句时,仍必须使用inserted和delete

4、d表中的信息。  传递到在视图上定义的INSTEADOF触发器的inserted和deleted表格式与为该视图定义的SELECT语句的选择列表相匹配。例如:CREATE VIE Northployees   视图的结果集有三列:一个int列和两个nvarchar列。传递到在视图上定义的INSTEADOF触发器的inserted和deleted表也具有名为EmployeeID的int列、名为LName的nvarchar列和名为FName的nvarchar列。  视图的选择列表还包含不直接映射到单个基表列的表达式。一些视图表达式(如常量调用或函数调用)

5、可能不引用任何列,这类表达式会被忽略。复杂的表达式会引用多列,但在inserted和deleted表中,每个插入的行仅有一个值。如果视图中的简单表达式引用具有复杂表达式的计算列,则这些简单表达式也有同样的问题。视图上的INSTEADOF触发器必须处理这些类型的表达式。有关更多信息,请参见视图上INSTEADOF触发器中的表达式和计算列。  顺便说一下,当对某张表建立触发器后,分3种情况讨论  1.插入操作(Insert)  Inserted表有数据,Deleted表无数据  2.删除操作(Delete)  Inserted表无数据,Deleted表有

6、数据  3.更新操作(Update)  Inserted表有数据(新数据),Deleted表有数据(旧数据)>>>>这篇文章来自..,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。