我在数据库中有一组 10 个表 ( DB1
)。并且在同一台 SQL Server 2008 R2 数据库服务器机器上的另一个数据库 ( DB2
) 中有 10 个具有完全相同架构的表。
中的 10 个表DB1
经常用数据更新。
我打算编写一个每天运行一次的存储过程,用于DB1
同步DB2
. 存储过程将使用该MERGE
语句。
现在,我的目标是使其尽可能通用和参数化。也就是说,容纳更多的表......并容纳不同的源和目标数据库名称。绝对没有硬编码的意图。
到目前为止,这是我的算法:
- 将数据库名称作为参数
- 在存储过程中进行第一个查询...导致从查找表中给出 10 个表的名称(可以是 10、20 或其他)
- 有一个通用
MERGE
语句对上述每组表进行同步(基于主键?)
这是我需要更多输入的地方。
实现此存储过程的最佳方法是什么?SQL 语法会很有帮助。