日期:2014-05-19  浏览次数:20461 次

急,SQLSERVER触发器的问题。
我有一个表。纪录人的衣服和数量。PeopleID,DressID,Number。修改这个数据,当Number=0时,触发器触发,删除这条纪录。
      触发器这么写的:
CREATE   TRIGGER   Delete_DressZero     ON   [dbo].[PlayerDress]  
FOR     UPDATE
AS
IF   UPDATE(number)
BEGIN
DELETE         FROM   PlayerDress
WHERE     number   =0
END
当Number=0时,程序就报错了。


------解决方案--------------------
我做了一个测试没有问题...


CREATE TRIGGER Delete_DressZero ON [dbo].[Test]
FOR UPDATE
AS
IF UPDATE(number)
BEGIN
DELETE FROM test
WHERE number =0
END


insert into Test values(2)

update Test
set number = number - 1
where id = 1

//id为标识列 number为int