前提:
有A和B两个表。表中各有一个【事项】字段。A表的【事项】字段,是个nvarchar类型。B表中的【事项】字段,是个计算列。这两个建也是主键之一。主键是【实体】【事项】。问题:
现在实现两个表的联级更新。更新的字段是【事项】和【实体】。
由于B表的中【事项】是计算列所以无法执行,提示的错误是不能修改列 "事项",因为它是计算列,或者是 UNION 运算符的结果。alter TRIGGER Trg_Update_Issue ON Issue for UPDATE
AS
execute('disable trigger Trg_insert_update_Indicator on Indicator');
SET NOCOUNT ON;
begin
IF update(实体)or UPDATE(事项)
begin
UPDATE dbo. Indicator
SET dbo. Indicator.实体=inserted.实体 ,indicator.事项 = inserted.事项
FROM dbo. Indicator,deleted,inserted
WHERE deleted.实体=dbo. Indicator.实体 and deleted.事项=indicator.事项 
end
end
execute('enable trigger Trg_insert_update_Indicator on Indicator');