0

我有一个“情况”:在大约 80 台 PC 上有一个已知 IP 的数据库,这些数据库存储在中央服务器上的代理表中。我想从每个数据库中选择(作为测试)一些数据。我开始:

DECLARE c CURSOR FOR
   SELECT agent_id, agent_ip_address FROM DB_FF.dbo.agents
      WHERE agent_ip_address IS NOT NULL
----------------------------------------------------- 
DECLARE @agent_id int, @agent_ip_address varchar(MAX)
-----------------------------------------------------

OPEN c
FETCH NEXT FROM c INTO @agent_id, @agent_ip_address
WHILE @@FETCH_STATUS <> -1
      BEGIN
         SELECT TOP 3 * FROM @agent_ip_address.[DB_SLAVE].[dbo].[cheques];
      END

问题是当我指定“。”时 在 [DB_SLAVE] 和 [dbo] 之间。任何想法我该怎么做(做它 - 聪明)?谢谢。

4

1 回答 1

0

如果它是一个选项 - 可能使用控制台应用程序或类似的应用程序来执行此操作 - 因此,您将拥有一个 dataReader(使用您使用的任何语言)而不是 SQL 游标,然后您可以执行您尝试运行的动态 SQL .

于 2012-06-14T16:13:32.777 回答