本文为大家分享了MYSQL将表名称修改成大写的存储过程,具体内容如下
1. 条件:
1.1 Mysql设置对大小写敏感
2. 执行下述存储过程:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#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 `' , LOWER (@newname), '_tmp` to `' ,@newname, '`' ); PREPARE tmpstmt FROM @SQL; EXECUTE tmpstmt; DEALLOCATE PREPARE tmpstmt; END IF; UNTIL done END REPEAT; CLOSE cur; END |
3. 执行一下语句
call uppercase('库名');
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。