2013-08-27 76 views
0

我有两个数据库服务器。我正在使用保存在其他数据库中的过程从一个数据库服务器获取更新的项目详细信息。然后我想用程序的结果集更新其他数据库的Item表。 如果有新项目添加到第一个数据库我也想插入这些记录循环遍历结果集的存储过程和更新表

请建议我一个最佳的方式来完成这项任务。

回答

0

要扩展@Dan Bracuk答案,请将数据写入临时表,然后使用临时表中的值(全部由主键)更新镜像数据库中的记录。 (因为它听起来像一个确切的镜像,我假设你保留了表中的所有键)。

然后,完成后,您可以从临时表中选择不存在于实际表中的所有记录,然后插入这些记录。

它最终成为2个语句(更新,然后插入),这比做RBAR更好的FAR。

1

将结果集放入临时表中,并从该临时表中更新其他数据库的表。这允许您运行单个更新查询而不是使用循环。

详细信息取决于您正在使用的rdbms,您没有指定的东西。您还必须确保在这两个数据库上都设置了适当的权限。

+0

如果在其他数据库服务器(我收到了数据)中插入了新记录,我也想添加这些记录。 – udaya726