Sql 使用自动增量值更新另一个表的触发器

Sql 使用自动增量值更新另一个表的触发器,sql,sql-server,database,triggers,Sql,Sql Server,Database,Triggers,我在为数据库创建触发器时遇到问题 我有两张桌子,让我们称之为一张桌子和一个故事 A有一个ID和一个值。 我希望Ashistory在设定的时间内跟踪值和日期 AHistory有一个自动递增的ID、值和时间戳。 就我所知: CREATE TRIGGER Atrigger ON A AFTER INSERT AS BEGIN INSERT INTO AHistory SELECT value FROM INSERTED END GO 假设您的db模式如下所示

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

我有两张桌子,让我们称之为一张桌子和一个故事

A有一个ID和一个值。

我希望Ashistory在设定的时间内跟踪值和日期

AHistory有一个自动递增的ID、值和时间戳。

就我所知:

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

假设您的db模式如下所示

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;

这里是演示,问题是?你错过了时间戳
getdate()
是假设您使用的是SQL Server的答案。还是另一个RDBMS?谢谢,但问题是A中的ID和AHistory中的ID不一样。在我的示例中,它们不一样。它们恰好具有相同的值,因为它们被定义为标识。因此,请查看SQLFIDLE并解释您的问题到底是什么。