触发以使用自动递增值更新另一个表

时间:2013-06-12 08:49:44

标签: sql sql-server database triggers

我在为数据库创建触发器时遇到了问题。

我有两张桌子,我们称之为A和AHistory。

A有ID和值。

我希望AHistory能够跟踪设定时间的值和日期。

AHistory具有自动增量ID,值和时间戳。

这是我得到的:

CREATE TRIGGER Atrigger 
   ON  A
   AFTER INSERT
AS 
BEGIN    
    INSERT INTO AHistory
    SELECT value FROM INSERTED
END
GO

1 个答案:

答案 0 :(得分:0)

假设您的数据库架构看起来像

CREATE TABLE a
   (id int identity primary key, 
     value varchar(32));

CREATE TABLE ahistory
   (id int identity primary key, 
     aid int, value varchar(32), 
     eventdate datetime);

您的触发器可能看起来像

CREATE TRIGGER atrigger ON  A
AFTER INSERT AS 
    INSERT INTO ahistory (aid, value, eventdate)
    SELECT id, value, GETDATE() FROM INSERTED;

这是 SQLFddle 演示