2013-03-03 63 views
0

我正在使用SQL Server。CREATE TRIGGER自動將更新的列複製到另一列

有一些列的表格:column1, column2, ...

用戶訪問column1,他可以更新它的內容。

現在我想創建一個觸發器,將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 

什麼代碼我應該使用註釋,而不是?

我會很感激任何幫助。

回答

1

您可以使用下面的查詢。它使用INSERTED表來避免替換所有行

UPDATE mytable 
SET mytable.column2 = i.column1 
FROM mytable 
INNER JOIN INSERTED i 
ON i.idcolumn=mytable.idcolumn 
相關問題