mysql游标遍历数据库_MySQL数据库中,使用游标循环遍历_MySQL
/*
對*dt庫下的所有數(shù)據(jù)表刪除docuemttype為空和documenttype為MD,PD,ET的數(shù)據(jù):
delete from 表名 where length(documenttype)<2 or documenttype is null or documenttype in ('et','md','pd');
*/
DELIMITER $$
USE `數(shù)據(jù)庫名稱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 = '數(shù)據(jù)庫名稱1';
/* 異常處理 */
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
/* 打開游標 */
OPEN rs;
/* 逐個取出當(dāng)前記錄userId字段的值*/
FETCH NEXT FROM rs INTO str;
/* 遍歷數(shù)據(jù)表 */
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;
/* 關(guān)閉游標 */
CLOSE rs;
END$$
DELIMITER ;
use 數(shù)據(jù)庫名稱1;
call 存儲過程名稱1;
/*
對*sd庫下的所有數(shù)據(jù)表刪除docuemttype不為空的數(shù)據(jù)
delete from 表名 where length(documenttype)>1;
*/
DELIMITER $$
USE `數(shù)據(jù)庫名稱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 = '數(shù)據(jù)庫名稱2';
/* 異常處理 */
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
/* 打開游標 */
OPEN rs;
/* 逐個取出當(dāng)前記錄userId字段的值*/
FETCH NEXT FROM rs INTO str;
/* 遍歷數(shù)據(jù)表 */
REPEAT
delete from str where length(documenttype)>1;
FETCH NEXT FROM rs INTO str;
UNTIL Done END REPEAT;
/* 關(guān)閉游標 */
CLOSE rs;
END$$
DELIMITER ;
use 數(shù)據(jù)庫名稱2;
call 存儲過程名稱2;
/*
對*et庫下的所有數(shù)據(jù)表刪除非學(xué)位論文數(shù)據(jù):
delete from 表名 where length(doucmenttype)='' or documenttype is null or documenttype not in ('et','md','pd');
*/
DELIMITER $$
USE `數(shù)據(jù)庫名稱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 = '數(shù)據(jù)庫名稱3';
/* 異常處理 */
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
/* 打開游標 */
OPEN rs;
/* 逐個取出當(dāng)前記錄userId字段的值*/
FETCH NEXT FROM rs INTO str;
/* 遍歷數(shù)據(jù)表 */
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;
/* 關(guān)閉游標 */
CLOSE rs;
END$$
DELIMITER ;
use 數(shù)據(jù)庫名稱3;
call 存儲過程名稱3;
本條技術(shù)文章來源于互聯(lián)網(wǎng),如果無意侵犯您的權(quán)益請點擊此處反饋版權(quán)投訴
本文系統(tǒng)來源:php中文網(wǎng)
TAG標簽:數(shù)據(jù)庫數(shù)據(jù)表
總結(jié)
以上是生活随笔為你收集整理的mysql游标遍历数据库_MySQL数据库中,使用游标循环遍历_MySQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界钻石在第几层
- 下一篇: mysql数据库套件_MySQL数据库管