sql-server - SQL 服务器 : avoiding hard coding of database name in cross-database views

标签 sql-server cross-database hard-coding

因此,假设您在同一台服务器上有两个 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/

相关文章:

SQL Server - UPDATE 语句中的 JOIN

.net - 如何避免硬编码字符串

java - 日期类的测试程序

sql-server - 工作 CREATE VIEW 在 IF NOT EXISTS 中给出语法错误

sql-server - Insert OUTPUT Insert.id to another table in multiple values insert

SQL - 如何更改计算列上的列

sql - 如何从 Azure SQL 数据库调用本地 SQL Server 存储过程?

postgresql - 在 PostgreSQL 中跨数据库插入

php - Codeigniter Datamapper 跨数据库连接

language-agnostic - 硬编码文字是否可以接受?