T-SQL:用光标选择一些数据

时间:2012-06-14 16:08:26

标签: sql select cursor

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

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]之间。任何想法我怎么能这样做(做它 - 智能)?谢谢。

1 个答案:

答案 0 :(得分:0)

如果它是一个选项 - 可能使用控制台应用程序或类似的方法 - 所以代替SQL游标你有一个dataReader(用你使用的任何语言)然后你可以做动态SQL你是试图跑。