0

我有一个带有存储过程的数据库,它从另一个数据库中选择数据

select * from Users in AnotherDatabase.dbo.Users

我有几个版本的其他数据库,即

AnotherDatabaseProduction, AnotherDatabaseDevelopment, AnotherDatabaseStage

我记得不久前我创建了某种全局变量AnotherDatabase_Pointer,我可以通过运行一些存储过程来设置它,例如SetAnotherDatabaseToStage

AnotherDatabase_Pointer = 'AnotherDatabaseStage' //pseudo-code

然后我可以在我的存储过程中使用它。

但我似乎不记得它是如何完成的。我能找到的只是如何通过字符串替换/连接来做到这一点:变量数据库名称:(

这可能吗?微软 SQL。

4

1 回答 1

5

您可能正在考虑一个Synonym

CREATE SYNONYM dbo.whatever FOR dbname.dbo.procedure_name;

现在,如果您想将其更改为其他数据库,您只需删除并重新创建同义词:

DROP SYNONYM dbo.whatever;
GO
CREATE SYNONYM dbo.whatever FOR other_dbname.dbo.procedure_name;
于 2013-11-06T19:52:34.910 回答