USE SELECT databasename from databasenametable
或类似的东西?
而不是执行select然后将值放在use satement中?我在选择周围尝试了括号,但没有用。以上也没有用。我不知道还能做什么
答案 0 :(得分:2)
如果您使用的是SQL Server,USE
语句应该获得数据库名称的显式值:
USE [databasename]
如果您坚持动态执行此操作,则可以使用Dynamic Sql:
DECLARE @db AS NVARCHAR(258);
SET @db = QUOTENAME(N'Pubs'); -- put whatever you want here..
EXEC(N'USE ' + @db);
GO
答案 1 :(得分:0)
如果您只需要在另一个数据库中执行一个语句,则另一个替代方法可能是:
declare @sql nvarchar(500)
declare @yourDatabaseName nvarchar(50) = 'junk'
declare @yourQuery NVARCHAR(200) = 'select * from someTable'
set @sql = @yourDatabaseName + '..sp_executesql N''' + @yourQuery + ''''
EXEC (@sql)