【问题标题】:SQL Server: avoiding hard coding of database name in cross-database viewsSQL Server:避免在跨数据库视图中对数据库名称进行硬编码
【发布时间】:2011-02-15 15:22:56
【问题描述】:

因此,假设您在同一台服务器上有两个 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 解决方案感兴趣。干杯。

【问题讨论】:

    标签: sql-server cross-database hard-coding


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-06
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多