我想使用一个名称存储在变量中的数据库。我该怎么做呢? 我一开始以为这行得通,但行不通:
exec('use '+@db)
这不会改变数据库上下文
有什么建议吗?
最佳答案
不幸的是,我不知道这个问题的直接解决方案。最近的工作版本是:
DECLARE @db nvarchar(MAX)
SET @db = 'use DBname'
Exec sp_executesql @db
但这只会改变过程调用长度的上下文。但是,可以在该调用中包含更多语句以利用上下文:
DECLARE @sql nvarchar(MAX)
SET @sql = 'use DBName SELECT * FROM Table1'
Exec sp_executesql @sql
关于sql - 如何使用可变数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2904370/