我遇到了“情况”:在具有已知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]之间。任何想法我怎么能这样做(做它 - 智能)?谢谢。
答案 0 :(得分:0)
如果它是一个选项 - 可能使用控制台应用程序或类似的方法 - 所以代替SQL游标你有一个dataReader(用你使用的任何语言)然后你可以做动态SQL你是试图跑。