【问题标题】:Need to update the Destination table when Source tables updates源表更新时需要更新目标表
【发布时间】:2015-09-17 12:14:23
【问题描述】:

我有一份报告使用了一些带有大数据的tables。我们编写了一个存储过程来从tables 获取所需的数据并处理报告输出table。由于数据量很大,我们不想在它们发生任何更新时调用整个源tables数据的过程。我们只需要将'updated/changed rowsin 源表更新为destinationtable

Sql Server 中执行此操作的最佳方法是什么?

感谢您的帮助。

【问题讨论】:

    标签: sql sql-server tsql ssis


    【解决方案1】:

    您可以明确地使用表触发器 请查看SQL Server Trigger Example to Log Changes

    在 SQL Server 中还有一个名为 CDC(变更数据捕获) 的解决方案 你也可以调查CDC

    【讨论】:

    • 性能上哪一个好?此外,使用 CDC 我们可以像触发器一样直接更新对目标表的更改。谢谢
    • 我实际上并没有使用 CDC,但您使用触发器更灵活。另一方面,每次更新数据时,都意味着另一个插入正在后面执行。所以插入时间会增加任何方式。如果您决定使用触发器,请使用基于 SET 的逻辑,否则正如许多开发人员所做的那样,您的触发器将无法正常工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多