Home >Database >Mysql Tutorial >mssql server 判断触发器正在处理的是插入,删除还是更新触发

mssql server 判断触发器正在处理的是插入,删除还是更新触发

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:49:021250browse

本文章介绍了关于mssql server 判断触发器正在处理的是插入,删除还是更新触发 ,有需要学习的同学可以参考一下下哦。

 代码如下 复制代码

--宣告两个变量
DECLARE @D BIT = 0
DECLARE @I BIT = 0

--如果在DELETED内部临时触发表找到记录,说明旧数据被删除 
IF EXISTS(SELECT TOP 1 1 FROM DELETED)
SET @D = 1

--如果在INSERTED内部临时触发表找到记录,说明有新数据插入 
IF EXISTS(SELECT TOP 1 1 FROM INSERTED)
SET @I = 1 

--如果两个表都有记录,说明是执行更新触发
IF @I = 1 AND @D = 1 
PRINT(N'更新。')

--如果变量@I值被变更为1,而变量@D没有变更,说明触发器是执行插入触发 
IF @I = 1 AND @D = 0
PRINT(N'插入')

--下面判断成立,说明说明触发器是执行删除触发 
IF @I = 0 AND @D = 1
PRINT(N'删除')

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn