Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 循环遍历存储过程的结果集并更新表_Sql_Stored Procedures - Fatal编程技术网

Sql 循环遍历存储过程的结果集并更新表

Sql 循环遍历存储过程的结果集并更新表,sql,stored-procedures,Sql,Stored Procedures,我有两个数据库服务器。我正在使用另一个数据库中保存的过程从一个数据库服务器获取更新的项目详细信息。然后我想用过程的结果集更新另一个数据库的Item表。 如果在第一个数据库中添加了新项目,我也希望插入这些记录 请为我推荐一种完成此任务的最佳方法。将结果集放入临时表中,并从该临时表更新其他数据库的表。这允许您运行单个更新查询,而不是使用循环 细节取决于您正在使用的rdbms,这是您没有指定的。您还必须确保在两个数据库上都设置了相应的权限。要在@Dan Bracuk answer上展开,请将数据写入临

我有两个数据库服务器。我正在使用另一个数据库中保存的过程从一个数据库服务器获取更新的项目详细信息。然后我想用过程的结果集更新另一个数据库的Item表。 如果在第一个数据库中添加了新项目,我也希望插入这些记录


请为我推荐一种完成此任务的最佳方法。

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


细节取决于您正在使用的rdbms,这是您没有指定的。您还必须确保在两个数据库上都设置了相应的权限。

要在@Dan Bracuk answer上展开,请将数据写入临时表,然后使用临时表中的值更新镜像数据库中的记录,所有操作都通过主键进行。(因为它听起来像是一个完全相同的镜像,所以我假设您保留了表中的所有键)

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


最后是两条语句(更新,然后插入),这比使用RBAR要好得多。

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