SQL Server 2005触发器-如何安全地确定是由UPDATE还是DELETE触发?

Alt*_*oru 1 database triggers sql-server-2005

我在SQL Server 2005触发器中有以下代码:

在[myTable]上创建触发器[myTrigger]
更新,删除
如
开始

宣告@OperationType VARCHAR(6)
如果存在(从插入中选择1个)
开始
    SET @ OperationType ='更新'
结束
其他
开始
    SET @ OperationType ='删除'
结束

我的问题:@OperationType是否存在未正确填充的情况?EG:表中的数据由一堆UPDATE / DELETE语句更改,但是触发器不是每个触发器都触发一次吗?

您是否有更好的方法来确定触发器是由UPDATE还是DELETE语句触发的?

Gor*_*ell 5

您为什么不只创建两个单独的触发器?

CREATE TRIGGER [myUpdateTrigger] ON [myTable]
FOR UPDATE
AS
BEGIN

END

CREATE TRIGGER [myDeleteTrigger] ON [myTable]
FOR DELETE
AS
BEGIN

END
Run Code Online (Sandbox Code Playgroud)