SqlServer 触发器

1 插入新纪录时,将 remain 的值设置成 amount的值

BEGIN
    DECLARE @NewID INT;
    SELECT @NewID = ID FROM inserted; -- 获取刚插入的ID
    UPDATE workshop_kpi
    SET remain = amount WHERE id = @NewID;
END

2 插入新记录时,在另一张表也插入一条,pro_id 为第一个表新插入行的主键

BEGIN
    SET NOCOUNT ON;
    
    -- 如果没有插入任何行,直接返回
    IF NOT EXISTS (SELECT 1 FROM inserted)
        RETURN;
        
    BEGIN TRY
        -- 将插入的 id 同步到 cq_project_report 的 pro_id
        INSERT INTO cq_project_report (pro_id)
        SELECT i.id
        FROM inserted i;
    END TRY
    BEGIN CATCH
        -- 错误处理:不抛出异常,静默处理
        -- 此处可以添加日志记录逻辑(如果需要)
    END CATCH;
END;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容