各位用户为了找寻关于MYSQL将表名称修改成大写的存储过程的资料费劲了很多周折。这里教程网为您整理了关于MYSQL将表名称修改成大写的存储过程的相关资料,仅供查阅,以下为您介绍关于MYSQL将表名称修改成大写的存储过程的详细内容
本文为大家分享了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('库名');
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。