【发布时间】:2015-04-05 20:22:25
【问题描述】:
我有两个 Sql Server 2008 R2 数据库,分别称为 MyDbOne 和 MyDbTwo。
我想将它们(所有表和过程)合并到一个名为 MyDb 的新数据库中。
假设它们之间的表名和过程名没有冲突。
问题是:有很多代码和过程使用数据库名称执行查询,包括在其中一个数据库中声明的从另一个数据库引用表的过程。有这样的查询:
select * from MyDbOne..SomeTable;
select * from MyDbTwo..AnotherTable;
SomeTable 和 AnotherTable 表随后将存在于 MyDb 数据库中。但我需要支持使用旧名称MyDbOne 和MyDbTwo 来查询它们。如果我要运行上面的查询,我希望它们实际上与:
select * from MyDb..SomeTable;
select * from MyDb..AnotherTable;
有什么办法吗?也许在新数据库上创建某种全局别名,将MyDbOne 和MyDbTwo 解析为MyDb?那会很完美,但我不知道该怎么做。
非常感谢!
【问题讨论】:
标签: sql merge sql-server-2008-r2 alias