delimiter //
CREATE PROCEDURE drop_table_like(IN table_prefix varchar(64), IN username varchar(256))
BEGIN
DECLARE tname varchar(128) default '';
DECLARE not_found INT DEFAULT 0;
DECLARE cur_tnames cursor FOR SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = username and table_name like table_prefix;
-- concat("'", table_prefix, "%'");
DECLARE CONTINUE HANDLER FOR NOT FOUND SET not_found = 1;
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
OPEN cur_tnames;
WHILE not_found = 0 DO
FETCH cur_tnames INTO tname;
IF NOT not_found THEN
-- select tname;
set @sql = concat('DROP TABLE ', tname);
prepare stmt from @sql;
execute stmt;
deallocate prepare stmt;
END IF;
END WHILE;
CLOSE cur_tnames;
END
//
mysql> call drop_table_like('taba%', 'foo')//
Query OK, 0 rows affected (0.17 sec)
要说的是,前边使用concat("'", table_prefix, "%'");
作为cursor的定义条件,居然不能用。或许mysql不认可这种条件定义。
分享到:
相关推荐
更改语句结束符号 delimiter$$ 查看存储过程结构 show create procedure proc_name
mysql查询语句汇总 MySQL查询语句是数据库操作的核心部分,涵盖了数据的增删改查等多个方面。由于篇幅限制,我将尽量简洁而全面地介绍MySQL查询语句的各个方面,以满足您的需求。 一、基础查询 基础查询是最常用的...
Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三...
本文实例讲述了mysql存储过程之返回多个值的方法。分享给大家供大家参考,具体如下: mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的...
*复制表:create table 表名 like 被复制的表名; 2.R(retrieve):查询 *查询某个数据库中所有的表名称 show tables; *查询表结构 desc 表名; 3.U(update):修改 1.修改表名: alter table 表名 rename to 新...
mysql经典教程+mysql存储过程讲解 重点讲解Mysql的存储过程,触发器,游标的使用 对mysql不太熟的朋友可以好好学习。。。
c++实现调mysql存储过程,实现存储过程的出参入参,可以支持查询多数据返回,还有存储过程的复杂数据的增删改等
mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页
MySQL存储过程学习 MySQL存储过程 MySQL存储过程
本文实例讲述了MySQL存储过程的异常处理方法。分享给大家供大家参考。具体如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc -> (p_first_name VARCHAR(30), -> p_last_name VARCHAR(30)...
针对mysql分页的一个存储过程,可以动态传入表名,可带查询条件,可带排序列
MySQL存储过程 MySQL存储过程 MySQL存储过程 MySQL存储过程 MySQL存储过程
mysql中文手册.chm+mysql命令大全.chm+mysql存储过程.pdf
这些示例都很简单,能够很好的帮助你理解 MySQL 中创建带参数存储过程的语法。这些示例已在 MySQL 5.5 中通过测试。我们将用下面的雇员表创建并测试这些储存过程: mysql> select * from employee; +--------+-...
MySql 分页 存储过程 MySql 分页 存储过程 MySql 分页 存储过程
mysql存储过程 mysql存储过程 mysql存储过程 mysql存储过程
内容概述:通过MySQL存储过程实战的例子,学会使用MySQL存储过程。包含以下内容: 创建无参存储过程、有参存储过程、IF-ELSE存储过程、WHILE循环存储过程、CASE-WHEN条件控制存储过程、REPEAT UNTIL循环存储过程、...
BEGIN declare date_str varchar(8);declare table_prefix varchar(20);set table_prefix=’mail_rare_visit_’;set date_str = DATE_FORMAT(CURRENT_DATE(),’%Y%m%d’);set @table_name = concat(table_prefix, ...
创建存储过程1 课程目标 1)了解 ——存储过程的优点; 2)理解 —— 存储过程的概念; 3)掌握 —— 存储过程的创建方法; 存储过程优点 使用存储过程的优点有: (1)存储过程在服务器端运行,执行速度快。 (2)...
MySQL存储过程经典教程MySQL存储过程经典教程MySQL存储过程经典教程MySQL存储过程经典教程MySQL存储过程经典教程MySQL存储过程经典教程