如何在MYSQL下所有指定数据库名下执行SQL
mysql下用户库比较多,都有统一的命名格式,希望在这些所有用户库执行脚本,更新数据,或者查询数据
可以采用以下存储过程实现
DROP PROCEDURE IF EXISTS `sp_execalldb`;
CREATE PROCEDURE `sp_execalldb`(p_sql varchar(4000),@p_dbname varchar(128))
BEGIN  
 drop temporary  TABLE if EXISTS `temp_dblist`;
CREATE temporary  TABLE `temp_dblist` (
`objid`  tinyint NULL AUTO_INCREMENT ,
`dbname`  varchar(50) NULL ,
PRIMARY KEY (`objid`)
)
;
insert into temp_dblist(dbname)
select SCHEMA_NAME from information_schema.SCHEMATA where SCHEMA_NAME like concat(@p_dbname,'%');
select count(*) into @rows from temp_dblist;
/*
call wfp.sp_execalldb('select max(EQ0722) from ?.wfpuser_t0404 ;')
*/
set @i=1;
 WHILE @i <=@rows DO
-- select dbname from temp_dblist where objid=@i;
 select REPLACE( p_sql,'?',dbname) into @tsql from temp_dblist where objid=@i  ;
 -- select @tsql;
 prepare stmt from @tsql;
    execute stmt;
set @i=@i+1;
END WHILE;
END;
调用示例
call sp_execalldb('select * from t','edb_a');
如何在MYSQL下所有指定数据库名下执行SQL的更多相关文章
- Linux系统下授权MySQL账户访问指定数据库和数据库操作
		
Linux系统下授权MySQL账户访问指定数据库 需求: 1.在MySQL中创建数据库mydata 2.新建MySQL账户admin密码123456 3.赋予账户admin对数据库mydata具有完全 ...
 - mysql数据库批量执行sql文件对数据库进行操作【windows版本】
		
起因: 因工作需要,在本机测试环境升级mysql数据库,需逐条执行mysql数据库的sql文件对数据库进行升级,因此找了些关于mysql的文章,对批量升级数据库所需的sql文件进行升级. 整理思路: ...
 - .net(C#)在Access数据库中执行sql脚本
		
自己写的一个工具类,主要是业务场景的需要. 主要有两个功能: ①执行包含sql语句的字符串 ②执行包含sql语句的文件 调用方式 /// <summary> /// 执行sql语句 /// ...
 - 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
		
原文:通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEcl ...
 - 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷
		
通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEclipse中的window->show View->ot ...
 - 20191217-关于JPA @Query查询数据一直为空,直接在数据库里执行SQL则可以查出来
		
20191217-关于JPA @Query查询数据一直为空,直接在数据库里执行SQL则可以查出来 前提:数据库中查询,由于在视图中无主键概念,只是在代码中由逻辑主键.结果:数据中作为逻辑主键中有个字段 ...
 - 【jdbc访问数据库获取执行sql转换json】
		
Talk is cheap.Show me your code. import java.sql.*; import java.util.HashMap; import java.util.Map; ...
 - mysql操作命令梳理(5)-执行sql语句查询即mysql状态说明
		
在日常mysql运维中,经常要查询当前mysql下正在执行的sql语句及其他在跑的mysql相关线程,这就用到mysql processlist这个命令了.mysql> show process ...
 - mysql导出部分(指定)数据库表字段
		
需要导出某个表中的部分字段信息 之前导出数据库表一直使用mysqldump命令,例如: mysqldump -hIP -uroot -P3306 -p 库 表 > 名字.sql 但是如果导出 ...
 
随机推荐
- Python: re.sub()第二个参数
			
起源: 问题源于解析kissanime.io这个网站.为反扒抑或是防止ddos攻击,此视频页面,初进去会有个5秒延迟并提交一表单验证.而其表单验证,为下面一段html代码: <form id=& ...
 - server2003远程桌面设置一个用户
			
开始--程序--管理工具--终端服务配置--限制每个用户使用一个会话
 - c#发送短信
			
短息计费平台:http://sms.webchinese.cn/User/?action=key 代码: using System;using System.Collections.Generic;u ...
 - selenium去掉下载弹窗
			
from selenium import webdriver import time import urllib2 class Download(): def __init__(self): self ...
 - 微信小程序之 ----API接口
			
1. wx.request 接口 可在文件 wxs中操作,连接服务器处理数据 参数 ① url ② data ③ header ④ method ⑤ dataType 回调 ...
 - Java泛型:List<?>与List的区别
			
为什么说List<?>是type-safe而List不是type-safe的? 1.List<?> compiler看到了你使用了wildcard ?,那么相当于你对compi ...
 - 11. 标准库浏览 – Part II
			
第二部分包含了支持专业编程工作所需的更高级的模块,这些模块很少出现在小脚本中. 11.1. 输出格式 reprlib 模块为大型的或深度嵌套的容器缩写显示提供了 :repr() 函数的一个定制版本: ...
 - (转)在WCF服务的ServiceReferences.ClientConfig中使用相对路径
			
问题: Silverlight项目中添加服务引用后会在Silverlight项目中生成一个ServiceReferences.ClientConfig文件,这个文件中包含了引用服务的绑定(bindin ...
 - C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
			
BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称.BSS段属于静态内存分配. 数据段 : ...
 - javascript 高级程序设计 七
			
引言:好几天没有写随笔了,项目有点紧,恰好今天项目遇到了比较大阻塞,就只好来写一篇随笔来压压惊. 1.Date类型 创建一个新的Date:(除了new Date()外) var someDate = ...