DELIMITER //
DROP PROCEDURE IF EXISTS proc_FindStrInAllDataBase
//#
CALL proc_FindStrInAllDataBase
(‘testdb’,’中’);
CREATE PROCEDURE proc_FindStrInAllDataBase
(
IN para_databasename VARCHAR(128),
IN para_finstr VARCHAR(128)
)
BEGIN
– 需要定义接收游标数据的变量
DECLARE tmp_dbname VARCHAR(128);
DECLARE tmp_tbname VARCHAR(128);
DECLARE tmp_colname VARCHAR(128);
– 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 游标
DECLARE cur_db_tb CURSOR
FOR
SELECT
#*,
c.table_schema,c.table_name,c.COLUMN_NAME
FROM
information_schema.`COLUMNS` C
INNER JOIN information_schema.`TABLES` t ON c.`TABLE_NAME`=t.`TABLE_NAME`
WHERE
T.`TABLE_TYPE`='BASE TABLE'
AND
(c.data_type LIKE '%char%' OR c.data_type LIKE '%text%')
AND
(C.TABLE_SCHEMA=para_databasename OR IFNUL