当前位置: 首页 > news >正文

MySQL技巧之跨服务器数据查询:高级篇-先调用A数据库的MySql存储过程再复制到B数据库的表中

MySQL技巧之跨服务器数据查询:高级篇-先调用A数据库的MySql存储过程再复制到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

跨服务器的查询语句、更新语句、删除语句、插入语句都已经学会了,但是我想做的处理实在太复杂,在SQL Server 上写实在麻烦,在A服务器上的MySQL库有还现成的存储过程,如果我能远程命令A服务器执行一下存储过程,处理好之后,我直接查询就好了!
怎么调用跨服务器的存储过程呢?
我摸着石头过河,你搭着我肩膀过河吧。

假如A服务器上的MySQL库有 pr_do_xxx() 这个存储过程,它完成什么复杂统计我们就不管了。我关心如何调用?上干货
在这里插入图片描述
EXEC(‘CALL pr_do_xxx()’) AT My_ODBC_MYSQL; – 这样调用A服务器上MySQL的存储过程

注意:请记住以上套路!pr_do_xxx 是一个存储过程,没有参数,有参数也行。My_ODBC_MYSQL 是我们一直在用的连接到A服务器上链接名。中间还有一个 AT 不要漏了哦。

– 假如存储过程处理过后,数据存在country 表中。接着按上一篇的套路做就可以了,此处重写一次。
– 插入语句 从A数据库复制到B数据库的表中,假设My_ODBC_MYSQL连接A数据库,My_ODBC_MYSQL2连接B数据库
DECLARE @QryStr nvarchar(4000) – 查询脚本
SET @QryStr =

INSERT INTO OPENQUERY(My_ODBC_MYSQL2, ‘’
SELECT country_code, country_name
FROM country LIMIT 0, 1’‘)
SELECT Q.country_code, Q.country_name
FROM OPENQUERY(My_ODBC_MYSQL, ‘’
SELECT cty.country_code, cty.country_name
FROM country cty
WHERE cty.country_code = ‘’’‘’ + ‘SA’ + ‘’‘’‘’ +
’ ‘’) AS Q
';
PRINT @QryStr; – 这是调试的技巧,小本子抄下。

EXEC(@QryStr); – 执行脚本的另一个写法
注意:请记住以上套路,特别注意单引号的个数。为什么加个动态参数沙特,拼接就要用四个单引号呢?基础篇有描述!我摸着石头过河,你搭着我肩膀过河吧。

妙!高!实在是高!
加粉丝看
MySQL技巧系列之《未经证实的葵花宝典》:一篇可以当饭吃的MySQL文章,值得收藏

总结:借用微软的SQL Server + ODBC 即可实现MySQL跨服务器间的数据查询。这里演示了调用存储过程的方法,再使用 INSERT INTO OPENQUERY(…),实现跨服务器间复制(插入)记录,轻松实现先从A数据库处理数据,然后复制到B数据库的表中。

http://www.lryc.cn/news/483701.html

相关文章:

  • JavaScript逆向爬虫教程-------基础篇之JavaScript密码学以及CryptoJS各种常用算法的实现
  • 【分布式】万字图文解析——深入七大分布式事务解决方案
  • apache2配置多站点
  • 基于PyQt Python的深度学习图像处理界面开发(一)
  • 【Linux网络】Linux网络编程套接字,UDP与TCP
  • Vue3 -- 强制统一包管理器工具【企业级项目配置保姆级教程6】
  • Winform实现自制浏览器JavaScript注入
  • 【工具插件类教学】在 Unity 中使用 iTextSharp 实现 PDF 文件生成与导出
  • javascript用来干嘛的?赋予网站灵魂的语言
  • Flutter Getx状态管理
  • 《成法》读书笔记
  • TensorFlow 2.0 环境配置
  • Ekman理论回归
  • 算法演练----24点游戏
  • 【学习心得】Python好库推荐——tiktoken
  • MacBook不额外安装软件,怎样投屏到安卓手机上?
  • flink sql + kafka + mysql 如何构建实时数仓
  • Go语言开发基于SQLite数据库实现用户表查询详情接口(三)
  • (11)(2.1.7) FETtec OneWire ESCs(二)
  • Springboot maven常见依赖、配置文件笔记
  • Ceph后端两种存储引擎介绍
  • C++入门基础知识140—【关于C++ 类构造函数 析构函数】
  • 基于标签相关性的多标签学习
  • macOS系统下使用SQLark连接达梦数据库
  • 爬虫如何解决短效代理被封的问题?
  • Jmeter基础篇(22)服务器性能监测工具Nmon的使用
  • Spring Boot 集成 RabbitMQ:消息生产与消费详解
  • JSON-RPC-CXX深度解析:C++中的远程调用利器
  • 【后端速成Vue】模拟实现翻译功能
  • 人脸识别技术:从算法到深度学习的全面解析