Sql server 如果记录已存在,如何签入ssis

Sql server 如果记录已存在,如何签入ssis,sql-server,ssis,Sql Server,Ssis,如何在目标表中已存在特定记录(主键列)时签入SSIS,如果存在则更新,否则插入 我在网上搜索了几个小时,但找不到确切的答案。请提供解决方案。互联网上的一些示例: 这些将为您提供详细的示例。互联网上的一些示例: 这些将为您提供详细的示例。这里有一个替代方案—代码更少,运行速度非常快 首先,使用缓存转换加载查找缓存,其中包含要从目标表保留的任何列(至少包括代理项键和业务键)。然后截断目标表。然后在主数据流的末尾,使用缓存添加一个查找,在业务键上加入,并返回所有要保留的列。匹配输出转到OLE

如何在目标表中已存在特定记录(主键列)时签入SSIS,如果存在则更新,否则插入


我在网上搜索了几个小时,但找不到确切的答案。请提供解决方案。

互联网上的一些示例:


这些将为您提供详细的示例。

互联网上的一些示例:


这些将为您提供详细的示例。

这里有一个替代方案—代码更少,运行速度非常快


首先,使用缓存转换加载查找缓存,其中包含要从目标表保留的任何列(至少包括代理项键和业务键)。然后截断目标表。然后在主数据流的末尾,使用缓存添加一个查找,在业务键上加入,并返回所有要保留的列。匹配输出转到OLE DB目标,并保持标识处于选中状态(以保留代理项键)。没有匹配输出发送到单独的OLE DB目标。两个目的地都必须取消选中表锁(以避免死锁),但可以使用快速加载。

这里有一个替代方法-代码更少,运行速度非常快


首先,使用缓存转换加载查找缓存,其中包含要从目标表保留的任何列(至少包括代理项键和业务键)。然后截断目标表。然后在主数据流的末尾,使用缓存添加一个查找,在业务键上加入,并返回所有要保留的列。匹配输出转到OLE DB目标,并保持标识处于选中状态(以保留代理项键)。没有匹配输出发送到单独的OLE DB目标。两个目标都必须取消选中表锁(以避免死锁),但可以使用快速加载。

首先,我们需要使用查找转换检查目标中的记录是否可用。如果接收记录与现有数据不匹配,则为新记录,否则为旧记录。

首先,我们需要使用查找转换检查目标中的记录是否可用。如果接收记录与现有数据不匹配,则为新记录,否则为旧记录。

了不起的工作Samuel Vanga。非常感谢你提供这个。第一个链接非常有用。:)伟大的作品塞缪尔·万加。非常感谢你提供这个。第一个链接非常有用。:)