因此,假设您在同一台服务器上有两个 SQL Server 数据库,它们在各自的 View 、函数和存储过程中引用彼此的表。
你知道,像这样的事情:
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
(我知道跨数据库 View 不是很好的做法,但只能说你坚持使用它)
是否有任何好的技术可以避免对数据库名称进行“硬编码”?
(所以如果你需要偶尔重新指向不同的数据库 - 也许为了测试 - 你不需要编辑大量的 View ,fns,sps)
我对 SQL 2005 或 SQL 2008 解决方案感兴趣。干杯。
最佳答案
您可以尝试使用 Synonyms .这样您就可以更改同义词指向的内容,而无需更改您的代码。
关于sql-server - SQL 服务器 : avoiding hard coding of database name in cross-database views,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5005553/