1、 创建存储过程batchDeleteField:删除所有名称为"MyDB_"开头的数据库中的指定字段

-- ----------------------------
-- Procedure structure for batchDeleteField
-- ----------------------------
DROP PROCEDURE IF EXISTS `batchDeleteField`;
DELIMITER ;;
CREATE DEFINER=`root`@`%` PROCEDURE `batchDeleteField`(IN `tableName` varchar(100),IN `fieldName` varchar(100))
BEGIN
#数据库名称
DECLARE schemaName VARCHAR(100); #声明结束标识
DECLARE end_flag int DEFAULT 0;
#声明游标 curosr ,查找所有“MyDB_”开头的数据库
DECLARE curosr CURSOR FOR select TABLE_SCHEMA from information_schema.`TABLES` WHERE TABLE_SCHEMA like 'MyDB_%' and table_name = tableName;
#设置终止标志
DECLARE CONTINUE HANDLER FOR NOT FOUND SET end_flag=1; #打开游标
OPEN curosr; #遍历游标
loop_label: LOOP FETCH curosr INTO schemaName;#获取当前游标指针记录,取出值赋给自定义的变量 IF end_flag > 0 THEN
LEAVE loop_label;
END IF; SET @sqlStr=CONCAT('alter table ',schemaName,'.',tableName,' drop column `',fieldName,'` ');
PREPARE stmt from @sqlStr;
EXECUTE stmt; END LOOP; #关闭游标
close curosr;
END
;;
DELIMITER ;

2、调用存储过程:

batchDeleteField('Users','score') //删除Users表中的score字段

最新文章

  1. Mysql-5.6.30卸载
  2. 18.python的异常处理
  3. swappiness
  4. mongoDB知识总结
  5. C语言赋值运算符
  6. 异常Crash之 NSGenericException,NSArray was mutated while being enumerated
  7. 4.4、Libgdx用法查询执行环境相关性
  8. JavaBean的属性变量名前两个字母大小写问题
  9. OpenStack搭建遇到的问题
  10. 2017年浙江理工大学程序设计竞赛校赛 题解&源码(A.水, D. 简单贪心 ,E.数论,I 暴力)
  11. 查看Linux的所有线程
  12. redis命令Set类型(七)
  13. webpack-dev-server的简单使用
  14. EF使用sql语句
  15. ubuntu apt-get failed
  16. iis运行asp.net页面提示“服务器应用程序不可用”的解决办法_.NET.
  17. 利用VisualStudio单元测试框架举一个简单的单元测试例子
  18. a href 属性
  19. Linux下javaweb环境搭建
  20. Selenium+Chrome+PhantomJS爬取淘宝美食

热门文章

  1. day16_函数作用域_匿名函数_函数式编程_map_reduce_filter_(部分)内置函数
  2. Python学习详细教程-武沛齐
  3. Python编码decode和encode
  4. <前端>简单实现开心网注册
  5. P1417 烹调方案 /// DP(假设 简化公式 排序)
  6. 一次bug死磕经历之Hbase堆内存小导致regionserver频繁挂掉
  7. Ubuntu环境下使用Maven编译并打包Java项目
  8. sql 根据列名查所属表名
  9. opencv-图像遍历
  10. Luogu P2827 蚯蚓(模拟)