想问一下,我想是先一个存储过程可以统计出一个表中每个字段的空值率,就是空值数量比上这个总数量,可是怎么能做到通过变量来循环表中每个字段呢? 求大神解惑一下

解决方案 »

  1.   

    动态sql,字段名通过user_tab_columns视图来获取
      

  2.   

    但是如果实时性要求不高,推荐收集统计信息后,查询user_tab_col_statistics视图来计算空值率
      

  3.   

    我想就是从你说的这个视图中能逐层取出每一行数据,这每一行就是字段名吧,把这个作为变量在通过另一个select count(变量) from 表 where ……is null/conut(1) from 表。但是怎么实现呢,里面逐层取数据需要的循环又怎么写呢?写成一个存储过程求大神解惑  谢谢