将数据库拆分为两个数据库



我想将我的数据库拆分为两个数据库,快速检查显示我可以轻松地跨数据库查询、连接、更新表。

我现在的主要问题是,要做到这一点,我将不得不做这样的事情。

SELECT * 
  FROM Database1.dbo.Table1, 
       Database2.dbo.Table2

如您所见,我必须明确提及数据库名称,这意味着如果使用不同的名称部署数据库名称,则此代码将不再有效。

有什么想法可以克服这个问题吗?

可以使用

db_name()获取当前数据库名称和动态 sql 来生成动态查询。像这样:

declare @databaseName nvarchar(max) = db_name()
declare @dynamicSql nvarchar(max) = 'SELECT * FROM '+ @databaseName + '.dbo.Table1'
exec sp_executesql @dynamicSql

最新更新