使用PGNP计算SSIS中的更新/插入

时间:2010-08-09 10:48:55

标签: sql postgresql ssis

我正在更新同一数据库中另一个表的表 - 计算更新/插入的最佳方法是什么?

我可以想到几种方法:

  1. 加入表并计数(即内部联接更新,左联接为空插入)然后执行更新/插入

  2. 使用目标表中的修改日期(这是正确维护的)并进行计数,其中mod日期已更改,这必须在更新之后,插入之前和之后完成...确定你明白了。

  3. 目前我使用方法二,因为我认为不必加入表可能更快,并且无论如何修改时间戳数据都存在。

    人们对此有何看法? (我想标记这个最佳实践,但该标签似乎已经消失了。)

    编辑:对不起,我应该更具体一点 - 假设只有一个并发更新(这是一夜之间更新档案/仓库),SSIS提供商使用的不会返回行已更新。

1 个答案:

答案 0 :(得分:0)

我可能会继续使用第二个选项。如果您知道自己每天运行(或任何其他常规间隔),则可以根据时间戳列中的datepart / day(取决于时间间隔)值测试所有修改(更新和插入)。

这样,当插入/加入/其他要求发生变化时,您无需重写更新测试程序。

(当然,您很容易受到其他代理人的更改)。

您还可以在其中引入一个“辅助列”,您可以在其中设置唯一的更新值,但这样会有腥味。