我SQL.I正在读触发器在table.Below创建了两个触发器是新手我triggers-触发器在SQL Server
CREATE trigger Test_TRIGGER_FOR
ON TEST_TABLE
for Insert
AS
if((Select ID from TEST_TABLE) =(Select ID from INSERTED))
BEGIN
PRINT 'you have successful using FOR'
END
ELSE
BEGIN
PRINT 'ERROR AFTER'
END
CREATE trigger Test_TRIGGER_AFTER
ON TEST_TABLE
AFTER Insert
AS
if((Select ID from TEST_TABLE) =(Select ID from INSERTED))
BEGIN
PRINT 'you have successful using AFTER'
END
ELSE
BEGIN
PRINT 'ERROR AFTER'
END
我已经成功创建触发器,但是当我在我的表插入数据出现以下错误 -
Msg 512,Level 16,State 1,Procedure Test_TRIGGER_FOR,Line 5 子查询返回多个值。当子查询遵循=,!=,<,< =,>,> =或当子查询用作表达式时,这是不允许的。 该声明已被终止。
请告诉我我错在哪里。
在此先感谢。
您永远不会使用触发器来返回打印作业。它们在大多数情况下不会在可以看到打印声明的环境中运行。触发器存在用于数据处理。 – HLGEM 2010-11-17 14:49:07