SQL Server触发器 - 使用deletetime将已删除的记录插入另一个表中

she*_*nyL 5 sql-server triggers asp.net-mvc-3

目前我有一个Item表和一个ItemWaste表.两个表都有一些字段,例如:Name,Amount等.但ItemWaste表将有一个字段,即TimeWasted.我希望自动将Item表中的DELETED项插入ItemWaste表,同时将删除时间插入TimeWasted字段.

我不知道怎么做,是不是使用了触发器???

希望能在这里得到一些帮助...感谢任何反馈...谢谢......

mar*_*c_s 8

当然 - 不是问题.

你需要一个基本的AFTER DELETE触发器 - 像这样:

CREATE TRIGGER trg_ItemDelete 
ON dbo.Item 
AFTER DELETE 
AS
    INSERT INTO dbo.ItemWaste(Name, Amount, TimeWasted)
        SELECT d.Name, d.Amount, GETDATE()
        FROM Deleted d
Run Code Online (Sandbox Code Playgroud)

这就是全部!需要记住的一点是:每个批次调用一次触发器- 例如,如果一次删除100行,它将被调用一次,伪表Deleted将包含100行.每行调用一次触发器(一种常见的误解).