MySQL数据库中,使用游标循环遍历
/*
对*dt库下的所有数据表删除docuemttype为空和documenttype为MD,PD,ET的数据:
delete from 表名 where length(documenttype)<2 or documenttype is null or documenttype in ('et','md','pd');	
*/
DELIMITER $$
USE `数据库名称1`$$  
DROP PROCEDURE IF EXISTS `存储过程名称1`$$
CREATE PROCEDURE `存储过程名称1`()  
BEGIN  
DECLARE str  varchar(40);
DECLARE Done INT DEFAULT 0;  
DECLARE rs CURSOR FOR SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '数据库名称1';  
/* 异常处理 */  
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;  
/* 打开游标 */  
OPEN rs;  
/* 逐个取出当前记录userId字段的值*/  
FETCH NEXT FROM rs INTO str;  
/* 遍历数据表 */  
REPEAT
   delete from str where length(documenttype)<2 or documenttype is null or documenttype in ('et','md','pd');
   FETCH NEXT FROM rs INTO str;
UNTIL Done END REPEAT;  
/* 关闭游标 */  
CLOSE rs;
END$$  
DELIMITER ;
use 数据库名称1;
call 存储过程名称1;
/*
对*sd库下的所有数据表删除docuemttype不为空的数据
delete from 表名 where length(documenttype)>1;
*/
DELIMITER $$
USE `数据库名称2`$$  
DROP PROCEDURE IF EXISTS `存储过程名称2`$$
CREATE PROCEDURE `存储过程名称2`()  
BEGIN  
DECLARE str  varchar(40);
DECLARE Done INT DEFAULT 0;  
DECLARE rs CURSOR FOR SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '数据库名称2';  
/* 异常处理 */  
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;  
/* 打开游标 */  
OPEN rs;  
/* 逐个取出当前记录userId字段的值*/  
FETCH NEXT FROM rs INTO str;  
/* 遍历数据表 */  
REPEAT
   delete from str where length(documenttype)>1;
   FETCH NEXT FROM rs INTO str;
UNTIL Done END REPEAT;  
/* 关闭游标 */  
CLOSE rs;
END$$  
DELIMITER ;
use 数据库名称2;
call 存储过程名称2;
/*
对*et库下的所有数据表删除非学位论文数据:
delete from 表名 where length(doucmenttype)='' or documenttype is null or documenttype not in ('et','md','pd');
*/
DELIMITER $$
USE `数据库名称3`$$  
DROP PROCEDURE IF EXISTS `存储过程名称3`$$
CREATE PROCEDURE `存储过程名称3`()  
BEGIN  
DECLARE str  varchar(40);
DECLARE Done INT DEFAULT 0;  
DECLARE rs CURSOR FOR SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '数据库名称3';  
/* 异常处理 */  
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;  
/* 打开游标 */  
OPEN rs;  
/* 逐个取出当前记录userId字段的值*/  
FETCH NEXT FROM rs INTO str;  
/* 遍历数据表 */  
REPEAT
   delete from str where length(doucmenttype)='' or documenttype is null or documenttype not in ('et','md','pd');
   FETCH NEXT FROM rs INTO str;
UNTIL Done END REPEAT;
/* 关闭游标 */  
CLOSE rs;
END$$  
DELIMITER ;
use 数据库名称3;
call 存储过程名称3;
MySQL数据库中,使用游标循环遍历的更多相关文章
- 将从mysql数据库查询的信息,遍历到List<>以及一些随机数的生成
		
将从mysql数据库查询的信息,遍历到List<>以及一些随机数的生成. 代码比较乱,但是方法还是对的,大家又需要的选择看,希望对博友 有帮助,欢迎留言分享! public class s ...
 - Oracle数据库中实现mysql数据库中auto-increment功能
		
在Mysql数据库中,想要实现一条数据的自增一功能(即插入此数据时填写null即可,系统自动+1),可直接在所在列使用语句auto-increment. id int primary key auto ...
 - Mysql数据库中的EXISTS和NOT EXISTS
		
SQL语言中没有蕴含逻辑运算.但是,可以利用谓词演算将一个逻辑蕴含的谓词等价转换为:p->q ≡┐p∨q. 我们通过一个具体的题目来分析:(具体的表和数据详见文章:Mysql数据库中的EXIST ...
 - 第二百八十七节,MySQL数据库-条件语句、循环语句、动态执行SQL语句
		
MySQL数据库-条件语句.循环语句.动态执行SQL语句 1.if条件语句 delimiter \\ CREATE PROCEDURE proc_if () BEGIN ; THEN ; ELSEIF ...
 - python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图
		
python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...
 - 聊一聊 MySQL 数据库中的那些锁
		
在软件开发中,程序在高并发的情况下,为了保证一致性或者说安全性,我们通常都会通过加锁的方式来解决,在 MySQL 数据库中同样有这样的问题,一方面为了最大程度的利用数据库的并发访问,另一方面又需要保证 ...
 - MySQL数据库中delimiter的作用概述
		
以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获. 其实就是告 ...
 - PHP往mysql数据库中写入中文失败
		
该类问题解决办法就是 在建立数据库连接之后,将该连接的编码方式改为中文. 代码如下: $linkID=@mysql_connect("localhost","root&q ...
 - MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述
		
MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述: 1.MySQL有多种存储引擎: MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(Berk ...
 - 从Mysql数据库中导入导出表结构
		
1.从Mysql数据库中导入sql表 很简单,只需要一个命令即可搞定:[root@localhost ~]# mysql -uroot -piweb_xxx_mysql iweb < modif ...
 
随机推荐
- Oracle中数字格式的文本化处理
			
Select TO_CHAR(123.0233,'FM999,999,90.09') FROM DUAL 1.小数点后面的0指示至少保留1位小数,9表示最多保留两位小数 2.小数点前面的0指示至少保留 ...
 - Unity3d 与IOS 相互调用
			
Unity3d 与IOS 相互调用 @灰太龙 群63438968 我用的Unity3d 4.2版本,这一节说一下IOS与U3D的交互! 首先在U3D中写个方法:这个时候导出为ios代码必须是真机,模拟 ...
 - I2C转UART
			
I2C转UART,51单片机普通IO口模拟I2C从机,解决UART不够的问题 /************************************************************ ...
 - Content related to smartcards (and RFID/NFC)
			
Introduction Add your content here. ISO/IEC 7816 Contact Cards Hardware EMV payment cards Orange Cas ...
 - PHP SPL使用
			
转载文章:php遗落的宝石 Rafael Dohms 上面的篇文章 让我惊艳了下,忍不住就翻译了下来,同时补充了部分内容. SPL,PHP 标准库(Standard PHP Library) ,此从 ...
 - 搜索(三分):HDU 3400 Line belt
			
Line belt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
 - 【模拟】Codeforces 691C Exponential notation
			
题目链接: http://codeforces.com/problemset/problem/691/C 题目大意: 输入一个数,把它表示成a·10b形式(aEb).输出aEb,1<=a< ...
 - C#调用Exe文件的方法及如何判断程序调用的exe已结束
			
很简单的代码就可以实现C#调用EXE文件,如下: 引入using System.Diagnostics; 调用代码: Process.Start(exe文件名); 或直接 System.Diagnos ...
 - [Hibernate] List 映射例子
			
List 是 java 集合的一个工具,存储线性的数据,允许重复数据.开发者可以准确控制在 list 那个位置插入数据.本例子演示 Java 的 List 集合和 MySQL 数据库的映射应用. 使用 ...
 - linux 挂载ISO
			
首先,将作为源的iso的挂载到系统上. 代码如下: mount -o loop /xxx/xxx.iso /mnt/iso/ 其中/mnt/iso是事先在本地建立的文件夹. 然后将文件iso.repo ...