0

したがって、それらの間に関係のない2つのデータベースがあります。最初のものは私の dbo.Clients が存在する場所で、2番目の db のデータベース名の列があります。私の考えは、クライアントから dbName を選択し、その変数を使用して 2 番目のデータベースからデータを選択することでした。クエリが実行されません 誰かが少し光を当てることができますか? ありがとう。

    @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
4

1 に答える 1

0

これを行うには、動的 SQLを使用する必要があります。

DECLARE @sql nvarchar(max)
SET @sql = 'SELECT * FROM sql02.' + @dbName + '.dbo.Discovery'
EXEC sp_executesql @sql
于 2012-11-16T14:45:24.833 に答える