当前位置: 代码迷 >> Sql Server >> DELETE语句触发怎么判断某列的值
  详细解决方案

DELETE语句触发怎么判断某列的值

热度:86   发布时间:2016-04-24 08:52:50.0
DELETE语句触发如何判断某列的值


BOOK表里有个MONEY列,
如果执行了DELETE后 ,如何判断MONEY的值是多少,如果小于200,就删除,如果大于200,就回滚。
以下是我的测试触发器,走过的大神,麻烦帮我补上一下,让我学习。谢谢。



CREATE TRIGGER 禁止删除记录
ON BOOK
FOR DELETE
AS
这里我该如何判断被删除记录的MONEY的值,如果小于200,就删除,大于200就回滚。
rollback‘回滚

------解决思路----------------------
CREATE TRIGGER 禁止删除记录
ON BOOK
FOR DELETE
AS
    IF EXISTS(SELECT *
                FROM deleted 
               WHERE MONEY >= 200
              )
    BEGIN
        RAISERROR ('被删除记录的MONEY大于等于200。', 16, 1)
        ROLLBACK TRANSACTION
    END
GO

------解决思路----------------------
语法允许的简写啊
ROLLBACK TRANSACTION (Transact-SQL)
  相关解决方案