MYSQL 存储过程实现LOOP嵌套循环

文中有两种循环嵌套的写法,均可实现,已实际操作,可用!!
需求说明:统计数据库全部表字段内数据不为空的量。
统计结果如图:不为空的数据量为0,说明此字段数据都为null;
在这里插入图片描述

写法一:如图

在这里插入图片描述
说明:
1.通过mysql系统表,循环查找对应库内全部的表名,作为外层循环。将查找的表名赋给变量v_table_name;
2.通过外层循环获取的表名v_table_name,以表名为条件,查找对应表的字段;
3.逐个字段计算,数据不为空的数量,并将计算结果赋给变量v_column_cnt;(统计不为空的数据量使用动态sql的形式,拼接成sql语句并执行,直接用变量是行不通的,mysql不支持。)
4.最后将统计数据插入到目标表;
5.内层循环是查找某一张表内全部字段,并计算字段数量;外层循环是逐一查找表。

写法二:如图
在这里插入图片描述
说明:
跟写法一逻辑差不多,写法上没有分内外层循环,不同之处已用红框框上了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值