请问一下触发器的问题
在用户表t_user中,为了防止其中的一个用户sa被删除,我写了一个触发器:
CREATE TRIGGER [delSA] ON [dbo].[t_user]
FOR DELETE
AS
if (select login from deleted) = 'sa'
rollback
但是这样一来,如果执行下面这句删除语句:
delete from t_user where IsPass = 0
如果这条语句所删除的不止一条记录,就会出错:
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。
请问如何做,才能保留那个For DELETE的触发器,又能让表可以接触批量删除的语句呢?谢谢!