我想写触发器。当table1中有一个条目时,table2应插入相同的值。并且在table1中的某些字段中进行更新,然后必须在table2中更新相应的字段。如何知道是否插入或更新了值?
我使用插入来插入值。
请指导我。
答案 0 :(得分:0)
以下是如何知道在这样的触发器中插入或更新值的方法:
INSERT
上,inserted
动态表格中填入了新值UPDATE
上,inserted
动态表填充了已更新记录的新值,deleted
动态表包含了记录的旧值。已更新所以基本上,如果deleted
表包含id(假设你有一个id列),就像在inserted
表中一样,你可以确信它是UPDATE
导致的deleted
触发。如果INSERT
表为空,则相反,它是{{1}}。
答案 1 :(得分:0)
使用此触发器来解决您的问题..
创建TRIGGER [dbo]。[insert_Assets_Tran]
ON [dbo]。[AssetMaster]
插入后,更新
作为开始的
DECLARE @isnum TINYINT;
SELECT @isnum = COUNT(*)FROM inserted;
IF(@isnum = 1)
插入AssetTransaction
选择[AssetId],[Brandname],[SrNo],[Modelno],[Processor],[Ram],[Hdd],[Display],[Os],[Office],[Purchasedt]
[Expirydt],[供应商],[VendorAMC],[类型名],[LOCATIONNAME],[EMPID],[CreatedBy],[CreatedOn],[ModifiedBy]
[ModifiedOn],[备注],[AssetStatus],[类别],[Oylstartdt],[Oylenddt],[配置]
[AStatus],[Tassign]
FROM inserted;
ELSE
RAISERROR('某些字段未提供',16,1)
WITH SETERROR;
END