简体   繁体   中英

Trigger to update another table WITH auto-increment value

I'm having trouble creating a trigger for my database.

I Have two tables, lets call them A and AHistory.

A has an ID and a value.

I want AHistory to keep track of the value and date for a set time.

AHistory Has an Auto Incremented ID, the value and a timestamp.

this is as far as I have gotten:

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

Assuming that your db schema looks like

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);

Your trigger might look like

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

Here is SQLFddle demo

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM