关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

SQLServer触发器增删改INSERT,UPDATE,DELETE-马冬明

发布时间:2019-10-18 10:44:02
CREATE TRIGGER trig_User_IUD
   ON   dbo.QR_User
   AFTER INSERT,UPDATE,DELETE
AS 
Declare @number nvarchar(20)
if exists(select 1 from inserted)
BEGIN    
    Select @number=propertyId from inserted
    if (select COUNT(U.KeyId) from dbo.QR_User U,dbo.QR_Property P where P.number=@number and U.sh_status=0 and U.propertyId=@number)>0
        update QR_Property set sub_status=1 where number=@number
    else if (select COUNT(I.KeyId) from dbo.QR_Inspection I,dbo.QR_Property P where P.number=@number and I.sh_status=0 and I.propertyId=P.KeyId)>0
        update QR_Property set sub_status=1    where number=@number
    else if (select COUNT(KeyId) from dbo.QR_Property where sh_status=0 and number=@number)>0
        update QR_Property set sub_status=1    where number=@number
    else
        update QR_Property set sub_status=0    where number=@number
END
else if exists (select 1 from deleted)
BEGIN
    Select @number=propertyId from deleted
    if (select COUNT(U.KeyId) from dbo.QR_User U,dbo.QR_Property P where P.number=@number and U.sh_status=0 and U.propertyId=@number)>0
        update QR_Property set sub_status=1 where number=@number
    else if (select COUNT(I.KeyId) from dbo.QR_Inspection I,dbo.QR_Property P where P.number=@number and I.sh_status=0 and I.propertyId=P.KeyId)>0
        update QR_Property set sub_status=1    where number=@number
    else if (select COUNT(KeyId) from dbo.QR_Property where sh_status=0 and number=@number)>0
        update QR_Property set sub_status=1    where number=@number
    else
        update QR_Property set sub_status=0    where number=@number
END

/template/Home/Zkeys/PC/Static