加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL教程MYSQL将表名称修改成大写的存储过程

发布时间:2020-12-12 01:31:20 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL教程MYSQL将表名称修改成大写的存储过程》要点: 本文介绍了MYSQL教程MYSQL将表名称修改成大写的存储过程,希望对您有用。如果有疑问,可以联系我们。 本文为大家分享了MYSQL将表名称修改成大写的存储过程,具体内容如下 MYSQL应用 1. 条件: 1.1 Mysq

《MYSQL教程MYSQL将表名称修改成大写的存储过程》要点:
本文介绍了MYSQL教程MYSQL将表名称修改成大写的存储过程,希望对您有用。如果有疑问,可以联系我们。

本文为大家分享了MYSQL将表名称修改成大写的存储过程,具体内容如下MYSQL应用

1. 条件:
1.1 Mysql设置对大小写敏感
2. 执行下述存储过程:?MYSQL应用

#call uppercase('库名')
DROP PROCEDURE IF EXISTS uppercase; 
CREATE PROCEDURE uppercase(IN dbname VARCHAR(200))  
BEGIN 
  
DECLARE done INT DEFAULT 0;  
  
DECLARE oldname VARCHAR(200);  
  
DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema = dbname;  
  
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;  
  
OPEN cur;  
  
REPEAT  
  
FETCH cur INTO oldname;  
  
SET @newname = UPPER(oldname);  
SET @isNotSame = @newname <> BINARY oldname;   
IF NOT done && @isNotSame THEN   
SET @SQL = CONCAT('rename table `',oldname,'` to `',LOWER(@newname),'_tmp` ');   
PREPARE tmpstmt FROM @SQL;   
EXECUTE tmpstmt;  
SET @SQL = CONCAT('rename table `','_tmp` to `',@newname,'`');   
PREPARE tmpstmt FROM @SQL;   
EXECUTE tmpstmt; 
  
DEALLOCATE PREPARE tmpstmt;  
  
END IF;   
UNTIL done END REPEAT;   
CLOSE cur;   
END

3. 执行一下语句
?call uppercase('库名');MYSQL应用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家PHP.MYSQL应用

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读