在Sql Serverinsert触发器实例中判断操作是Insert还是Update还是Delete

SQL触发器_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
26页免费42页免费13页免费15页免费24页1下载券 7页免费3页免费11页1下载券3页免费2页1下载券
喜欢此文档的还喜欢11页免费11页免费11页1下载券4页1下载券10页免费
SQL触发器|s​q​l​触​发​器​讲​解
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢当前位置:&>&&>&
sql server 触发器实例(判断是插入、删除,还是修改)
发布时间:编辑:thebaby
分享一个sql server中触发器的例子,实现判断是插入、删除还是修改数据,有需要的朋友参考下吧。
sql server触发器的例子。
复制代码 代码示例:
--触发器实例
--判断是插入、删除还是修改数据
create TRIGGER [updatetest] ON [dbo].[TEST]
FOR INSERT, UPDATE, DELETE
&&& @IsInsert bit,
&&& @IsUpdate bit,
&&& @IsDelete bit
IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)
&&& SET @IsInsert = 1
&&& SET @IsInsert = 0
IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
&&& SET @IsUpdate = 1
&&& SET @IsUpdate = 0
IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
&&& SET @IsDelete = 1
&&& SET @IsDelete = 0
if (@IsUpdate=1)
&& PRINT 'updated '
&if (@IsInsert=1)
&& PRINT 'insert '
&if (@IsDelete=1)
&& PRINT 'delete '
inserted、deleted:
这是两个虚拟表,inserted 保存的是 insert 或 update 之后所影响的记录形成的表,deleted 保存的是 delete 或 update 之前所影响的记录形成的表。
本文标题:
本页链接:
12345678910在Sql Server触发器中判断操作是Insert还是Update还是Delete_百度知道
在Sql Server触发器中判断操作是Insert还是Update还是Delete
提问者采纳
可以根据inserted表和deleted表中数据的变化情况判断具体执行的是哪种操作。
其他类似问题
触发器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁数据库技巧
软件与服务//
如何在SQL Server中使用触发器
  【IT专家网独家】触发器是一种特殊的存储过程,在使用触发器之前可以与存储过程进行比较,触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用。
  触发器主要优点如下:
  触发器是自动的:当对表中的数据作了任何修改之后立即被激活,触发器与数据库中的表紧密相关,比如当对表执行INSERT、UPDATE或DELETE操作时,触发器就会自动执行。
  触发器可以对数据库中的表进行嵌套的触发,一个触发器执行启动另一个触发器的操作,这样的嵌套可以达到32层。
  触发器可以强制限制,可以防止恶意或错误的 INSERT、UPDATE 以及 DELETE 操作,并强制执行比CHECK约束定义的限制更为复杂的其他限制,虽CHECK约束已经在表定义的时候建立好了,但触发器可以实现很多其它的约束限制,在约束所支持的功能无法满足应用程序的功能要求时,触发器的优点就会体现。
  在SQL Server中,已经包括两大类触发器:DML 触发器和 DDL 触发器。 DDL触发器为SQL Server 2005中新增的。
  当数据库中发生数据操作语言 (DML) 事件时将调用 DML 触发器。DML 事件包括在指定表或视图中修改数据的 INSERT 语句、UPDATE 语句或 DELETE 语句。DML 触发器可以查询其他表,还可以包含复杂的 Transact-SQL 语句。将触发器和触发它的语句作为可在触发器内回滚的单个事务对待。如果检测到错误,则整个事务即自动回滚。
  DDL 触发器是一种特殊的触发器,它在响应数据定义语言 (DDL) 语句时触发。它们可以用于在数据库中执行管理任务,例如,审核以及规范数据库操作。像常规触发器一样,DDL 触发器将激发存储过程以响应事件。但与 DML 触发器不同的是,它们不会为响应针对表或视图的 UPDATE、INSERT 或 DELETE 语句而激发。相反,它们会为响应多种数据定义语言 (DDL) 语句而激发。这些语句主要是以 CREATE、ALTER 和 DROP 开头的语句。DDL 触发器可用于管理任务,例如审核和控制数据库操作。
  了解到以上内容,我们就来看一下如何来创建一个DML触发器和一个DDL触发器。
  在SQL Server 2000中我们创建触发器可以通过在表名上点右键-&“所有任务”-&“管理触发器”来创建,然后在里面写上对应的 T-SQL 语句,也可以在查询分析器里面创建。在SQL Server 2005中就不提供对应的表名进行操作了,需要直接通过写对应的T-SQL语句了。
  触发器的操作命令主要有如下几种格式:
  创建触发器:
  Create Trigger 名称
  On 表名
  For 类型
  Sql语句
  修改触发器:
  Alter Trigger 名称
  删除触发器:
关键词:SQLServer 存储过程 数据库 技巧
责任编辑:王晓晨
All Rights Reserved, Copyright , .cn渝ICP证B2-号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i
京公网安备84号

我要回帖

更多关于 insert or update 的文章

 

随机推荐