0

我正在使用 SQL Server。

有一个包含一些列的表:column1, column2, ...

用户有权访问column1,他可以更新它的内容。

现在我想创建一个触发器来自动复制 to 的新column1内容column2

例如

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

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

我会很感激任何帮助。

4

1 回答 1

1

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

UPDATE mytable
SET mytable.column2 = i.column1
FROM mytable
INNER JOIN INSERTED i
ON i.idcolumn=mytable.idcolumn
于 2013-03-03T12:46:52.270 回答