MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并
上一篇已经描述:借用微软的SQL Server + ODBC 即可实现MySQL跨服务器间的数据查询。
而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的链接名: MY_ODBC_MYSQL
以及用同样的方法,做的另一个链接名 MY_ODBC_MYSQL2
还实现了第一次查询,在MS SQL Server打开一个新查询,输入以下脚本:
SELECT Q.country_code, Q.country_name
FROM OPENQUERY(MY_ODBC_MYSQL, ’
SELECT country_code, country_name FROM country
WHERE Code = ‘‘IR’’
') AS Q
上一篇我们也知道动态参数查询怎么写了。有时我们想从两个(或者多个)不同服务器中合并查询统计数据,跨服务器的A数据库与B数据库查询合并又该如何写?
假设我想把A数据库查询出来的伊朗,与B数据库查询出来的沙特合并在一起。
– A数据库与B数据库查询合并,假设My_ODBC_MYSQL连接A数据库,My_ODBC_MYSQL2连接B数据库
DECLARE @QryStr nvarchar(4000) – 查询脚本
SET @QryStr =
’ SELECT Q.country_code, Q.country_name ’ +
’ FROM OPENQUERY(My_ODBC_MYSQL, ‘’’ +
’ SELECT country_code, country_name FROM country ’ +
’ WHERE country_code = ‘’‘’’ + ‘IR’ + ‘’‘’‘’ +
‘’‘) AS Q ’ +
’ UNION ALL ’ +
’ SELECT Q.country_code, Q.country_name ’ +
’ FROM OPENQUERY(My_ODBC_MYSQL2, ‘’’ +
’ SELECT country_code, country_name FROM country ’ +
’ WHERE country_code = ‘’‘’’ + ‘SA’ + ‘’‘’‘’ +
‘’') AS Q ’
EXEC sp_executesql @QryStr
以上实例用到了此前基础篇准备的,能连接两个不同服务器的链接名:My_ODBC_MYSQL、My_ODBC_MYSQL2。请认真体会其中格式。
妙!高!实在是高!
加粉丝看
MySQL技巧系列之《未经证实的葵花宝典》:一篇可以当饭吃的MySQL文章,值得收藏
总结:借用微软的SQL Server + ODBC 即可实现MySQL跨服务器间的数据查询。准备两个能连接两个不同服务器的链接名,使用OPENQUERY函数,把能连接A、B数据库的动态语句拼接好,执行 EXEC sp_executesql @QryStr即可。