我正在使用SQL Server。
有一些列有一些列:column1, column2, ...
用户可以访问column1
,并且可以更新其内容。
现在我想创建一个触发器,将column1
的新内容自动复制到column2
。
e.g。
set column2 = column1 AFTER UPDATE of (column1)
我已使用此代码在表格上创建了一个触发器:
CREATE TRIGGER [dbo].[mytrigger]
ON [dbo].[mytable]
AFTER UPDATE
AS
IF UPDATE(userName)
BEGIN
SET NOCOUNT ON;
-- HERE I SHOULD WRITE A CODE TO COPY NEW DATA OF COLUMN1 TO COLUMN2 !! :-??
END
我应该使用什么代码而不是注释?
我会感激任何帮助。
答案 0 :(得分:1)
您可以使用以下查询。它使用INSERTED
表来避免替换所有行
UPDATE mytable
SET mytable.column2 = i.column1
FROM mytable
INNER JOIN INSERTED i
ON i.idcolumn=mytable.idcolumn