--创建INSERT触发器
IF EXISTS (SELECT * FROM sys.objects WHERE name='tr_test' AND type='tr')
DROP TRIGGER tr_test
GO
CREATE TRIGGER tr_test ON Test
AFTER INSERT AS
IF (SELECT id from Test)>20
BEGIN
PRINT'NOT OVER 20'
ROLLBACK
END
GO
消息 512,级别 16,状态 1,过程 tr_test,第 3 行
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
第二次我修改了一下:
--创建INSERT触发器
IF EXISTS (SELECT * FROM sys.objects WHERE name='tr_test' AND type='tr')
DROP TRIGGER tr_test
GO
CREATE TRIGGER tr_test ON Test
AFTER INSERT AS
IF 20<ANY(SELECT id from Test)
BEGIN
PRINT'NOT OVER 20'
ROLLBACK
END
GO
NOT OVER 20
消息 3609,级别 16,状态 1,第 1 行
是不是我的IF写的有问题,请问这个触发器该怎么写才行?