繁体   English   中英

对不同表中的单个列进行更新后的 SQL 触发器

[英]SQL Trigger after update on a single column in different table

我正在创建一个 SQL 触发器,我需要在第一个表上更新它后将记录插入到不同的表中。

我得到了以下表格。

排队表:

排队表

箱表

在此处输入图片说明

到目前为止,我有以下无法编译的 SQL 查询。

CREATE TRIGGER dbo.MoveBinToQueue
    ON dbo.Bins
    AFTER UPDATE
AS
IF UPDATE(Status_StatusId)
BEGIN
    INSERT INTO dbo.Queues
    (
        Prio,
        Time
        Bin_BinId,
        Goal_GoalId
    )
    SELECT
         20,
         GETDATE(),
         inserted.Status_StatusId,
         inserted.Goal_GoalId
         )
END

你需要一个FROM子句:

CREATE TRIGGER dbo.MoveBinToQueue
    ON dbo.Bins
    AFTER UPDATE
AS
BEGIN
    IF UPDATE(Status_StatusId)
    BEGIN
        INSERT INTO dbo.Queues (Prio, Time, Bin_BinId, Goal_GoalId )
            SELECT 20, GETDATE(), inserted.Status_StatusId, inserted.Goal_GoalId
            FROM inserted;
    END
END;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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