我有這個觸發器來更新列的值格式,但是我想使它在視圖中的多個列上更新,而不是在表中更新。SQL觸發器更新視圖中的多個列
觸發器;
CREATE TRIGGER [dbo].[TriigerName]
ON [dbo].[Table]
AFTER INSERT
AS
BEGIN
UPDATE
t
SET
t.ColName = dbo.FunctionName(i.ColName)
FROM
dbo.table t
INNER JOIN
inserted i
ON
i.PrimaryId = t.PrimaryId
END
我曾嘗試加入SET
下的第二t.colName = dbo.FunctionName(i.colName)
,但沒有奏效。查詢已運行,但未更新第二列中的值。
如何修改此觸發器以使其在視圖上運行?
感謝
編輯1: 我得到這個錯誤; View or function 't' is not updatable because the modification affects multiple base tables.
,我也將AFTER INSERT
更改爲INSTEAD OF INSERT
。
更新t.ColName兩次? – jarlh