Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想将我的数据库分成两个数据库,快速检查表明我可以轻松地跨数据库查询、连接、更新表。
我现在的主要问题是,要做到这一点,我将不得不做这样的事情。
SELECT * FROM Database1.dbo.Table1, Database2.dbo.Table2
如您所见,我必须明确提及数据库名称,这意味着如果使用不同名称部署数据库名称,则此代码将不再起作用。
有什么想法可以克服这个问题吗?
您可以使用db_name()获取当前数据库名称和动态 sql 来构建动态查询。就像是:
db_name()
declare @databaseName nvarchar(max) = db_name() declare @dynamicSql nvarchar(max) = 'SELECT * FROM '+ @databaseName + '.dbo.Table1' exec sp_executesql @dynamicSql