2

因此,假设您在同一台服务器上有两个 SQL Server 数据库,它们在它们的视图、函数和存储过程中引用彼此的表。

你知道,像这样的事情:

use database_foo

create view spaghetti
as
select f.col1, c.col2
from fusilli f
inner join database_bar.dbo.conchigli c on f.id = c.id

(我知道跨数据库视图不是很好的做法,但可以说你坚持使用它)

有没有什么好的技术可以避免“硬编码”数据库名称?

(因此,如果您需要偶尔重新指向不同的数据库——也许是为了测试——你不需要编辑大量的视图、fns、sps)

我对 SQL 2005 或 SQL 2008 解决方案感兴趣。干杯。

4

1 回答 1

8

您可以尝试使用Synonyms。这样您就可以更改同义词所指向的内容,而无需更改您的代码。

于 2011-02-15T15:28:21.707 回答