MySQL技巧之跨服务器数据查询:基础篇-如何获取查询语句中的参数
上一篇已经描述:借用微软的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
上一篇我们也知道动态参数查询怎么写了。有时我们想知道某表的记录行数,跨服务器的查询又将如何写呢?或者怎么把一个字段值赋值给一个变量?
DECLARE @QryStr nvarchar(4000) – 查询脚本
DECLARE @RecordCount int
SET @QryStr =
’ SELECT @cnt = Q.cnt ’ +
’ FROM OPENQUERY(MY_ODBC_MYSQL, ‘’’ +
’ SELECT COUNT(*) cnt FROM country ’ +
‘’‘) AS Q ’
EXEC sp_executesql @QryStr, N’@cnt int output’, @RecordCount output
SELECT @RecordCount AS 记录数
以上实例演示了如何把跨服务器数据库中的国家表中的记录行数在查询中赋值给@cnt,再赋值给@RecordCount的写法。请认真体会其中格式。
妙!高!实在是高!
加粉丝看
MySQL技巧系列之《未经证实的葵花宝典》:一篇可以当饭吃的MySQL文章,值得收藏
总结:借用微软的SQL Server + ODBC 即可实现MySQL跨服务器间的数据查询。使用OPENQUERY函数,把动态语句拼接好,执行 EXEC sp_executesql 后有多个参数的写法,可以获取查询参数。