Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 Server)_Sql_Sql Server 2008 R2 - Fatal编程技术网

批量移动中的更新和插入(SQL Server)

批量移动中的更新和插入(SQL Server),sql,sql-server-2008-r2,Sql,Sql Server 2008 R2,我有一对数据库,一个是实时数据库,另一个用于测试该实时数据库的配置。两者都位于同一台服务器上 我有三个表,用户(PK UserId,FK MainGroupId)和组(PK GroupId)以及组成员(PK GroupMemberId,FK GroupId和UserId) 两个数据库上的表都是相同的模式,但是测试数据库有一组特殊的测试用户。组基本上是稳定的,但有时我们添加组,有时我们更改组中的列数据。GroupMembers相同,但在测试数据库中指的是测试用户 我需要能够以编程方式从live更新

我有一对数据库,一个是实时数据库,另一个用于测试该实时数据库的配置。两者都位于同一台服务器上

我有三个表,用户(PK UserId,FK MainGroupId)和组(PK GroupId)以及组成员(PK GroupMemberId,FK GroupId和UserId)

两个数据库上的表都是相同的模式,但是测试数据库有一组特殊的测试用户。组基本上是稳定的,但有时我们添加组,有时我们更改组中的列数据。GroupMembers相同,但在测试数据库中指的是测试用户

我需要能够以编程方式从live更新Groups表以测试用户。我想使用大容量复制操作,但要这样做,我必须先删除Groups表,这将导致违反约束

我可以将该表批量复制到一个虚拟表中,然后通过插入新行进行后期处理,并更新现有行。但是,我的问题是,有大约30个类似于组的表,我不想在更新集方法中将所有列名编码到存储过程中。我也希望能够批量完成

DBA对授予ALTERTABLE临时删除约束的权限持怀疑态度


还有其他建议吗?

选择导出和导入。如果按正确的顺序执行,它应该可以正常工作。

既然两个数据库都在同一台服务器上,为什么不使用MERGE语句呢

那是因为我从未听说过合并语句!谢谢你教育我,这是一个很大的帮助。