当前位置: 代码迷 >> Sql Server >> UPDATE触发器判断是更新哪个字断。解决办法
  详细解决方案

UPDATE触发器判断是更新哪个字断。解决办法

热度:19   发布时间:2016-04-24 08:53:33.0
UPDATE触发器判断是更新哪个字断。
有两个表一个是KING表,里面有两个字段,一个是USERNAME字段,一个是MONEY字段
第二个表是BOOK表,里面有 ID1 ID2 ID3 ID4四个字段,其中KING表的USERNAME字段的值都是取自BOOK表里的ID1 ID2 ID3 ID4字段的值。
现在想写个触发器,

比如:如果更新了BOOK表ID1字段的时候,先取更新前的值去查询KING表里的USERNAME字段是否存在这个数据,如果存在则不更新,否则更新。。

能写个触发器例子参考下嘛,实在不懂怎么写。

------解决思路----------------------
CREATE TRIGGER tr_book ON book
AFTER UPDATE
AS
    IF EXISTS(SELECT *
                FROM king K
                JOIN deleted D
                  ON k.USERNAME = D.ID1
                JOIN inserted I
                  ON I.id = D.id
                 AND I.ID1 <> D.ID1
              )
    BEGIN
        RAISERROR ('更新的ID1存在于KING.USERNAME中。', 16, 1)
        ROLLBACK TRANSACTION
    END

    -- ID2、ID3、ID4 照样写……
GO
  相关解决方案