通过CREATE TRIGGER自动将更新的列复制到另一列

时间:2013-03-03 12:25:03

标签: sql-server

我正在使用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

我应该使用什么代码而不是注释?

我会感激任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用以下查询。它使用INSERTED表来避免替换所有行

UPDATE mytable
SET mytable.column2 = i.column1
FROM mytable
INNER JOIN INSERTED i
ON i.idcolumn=mytable.idcolumn