MYSQL 存储过程实现LOOP嵌套循环
程序员文章站
2022-05-07 19:07:55
文中有两种循环嵌套的写法,均可实现,已实际操作,可用!!需求说明:统计数据库全部表字段内数据不为空的量。统计结果如图:不为空的数据量为0,说明此字段数据都为null;写法一:如图说明:1.通过mysql系统表,循环查找对应库内全部的表名,作为外层循环。将查找的表名赋给变量v_table_name;2.通过外层循环获取的表名v_table_name,以表名为条件,查找对应表的字段;3.逐个字段计算,数据不为空的数量,并将计算结果赋给变量v_column_cnt;(统计不为空的数据量使用动态sq...
文中有两种循环嵌套的写法,均可实现,已实际操作,可用!!
需求说明:统计数据库全部表字段内数据不为空的量。
统计结果如图:不为空的数据量为0,说明此字段数据都为null;
写法一:如图
说明:
1.通过mysql系统表,循环查找对应库内全部的表名,作为外层循环。将查找的表名赋给变量v_table_name;
2.通过外层循环获取的表名v_table_name,以表名为条件,查找对应表的字段;
3.逐个字段计算,数据不为空的数量,并将计算结果赋给变量v_column_cnt;(统计不为空的数据量使用动态sql的形式,拼接成sql语句并执行,直接用变量是行不通的,mysql不支持。)
4.最后将统计数据插入到目标表;
5.内层循环是查找某一张表内全部字段,并计算字段数量;外层循环是逐一查找表。
写法二:如图
说明:
跟写法一逻辑差不多,写法上没有分内外层循环,不同之处已用红框框上了。
本文地址:https://blog.csdn.net/kingloong123/article/details/107320010