直接在navcat上新建过程 copy即可(过程和函数的区别就是 函数有参数)
BEGIN
DECLARE s_tablename VARCHAR(100); -- 变量名 s_tablename
#显示所有
DECLARE cur_table_structure CURSOR -- 游标名 cur_table_structure
FOR
SELECT table_name -- 此为查询所有表 可以单独执行看结果
FROM
information_schema.TABLES
WHERE
table_schema = DATABASE ( )
AND table_name NOT LIKE 'ACT%'
AND table_name NOT LIKE 'QRTZ%';
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET s_tablename = NULL; -- 此为固定写法 非null判断
OPEN cur_table_structure; -- 开启游标
FETCH cur_table_structure INTO s_tablename;
WHILE ( s_tablename IS NOT NULL) DO
SET @MyQuery=CONCAT("alter table `",s_tablename,"` add column sharding_name VARCHAR(30)");
-- 业务逻辑 拼接字符串然后执行
PREPARE msql FROM @MyQuery;
EXECUTE msql ;#USING @c;
FETCH cur_table_structure INTO s_tablename;
END WHILE;
CLOSE cur_table_structure; -- 关闭游标
END