所以我有两个数据库,它们之间没有任何关系。第一个是我的dbo.Clients存在的地方,并且有一个第二个数据库的数据库名称列。我的想法是从客户端选择dbName然后使用该变量从第二个数据库中选择数据。 查询没有运行可以让一些人流下一点光吗?感谢。
@dbName varchar(50) OUTPUT,
@clientID varchar(50)
AS
BEGIN
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT * FROM sql02.iproconfig4.dbo.Clients
SET @dbName = (SELECT Clients.ClientDatabase FROM sql02.iproconfig4.dbo.Clients WHERE ClientID = @clientID)
SELECT * FROM sql02.@dbName.dbo.Discovery
END
答案 0 :(得分:0)
您需要使用dynamic SQL来完成此任务:
DECLARE @sql nvarchar(max)
SET @sql = 'SELECT * FROM sql02.' + @dbName + '.dbo.Discovery'
EXEC sp_executesql @sql