それぞれに100を超えるさまざまな列を持つさまざまなテーブルがあり、それは増加する可能性があります。また、私のテーブルには、一部のデータで null 値を持つ特定の列と、完全に null の列があります
完全にnull値を持つ列が必要なだけです。または、そのテーブルの行数をよりよく理解するには、そのテーブルに存在する列の行のnull数と等しくする必要があります
DECLARE
TYPE refc IS ref CURSOR;
col_cv REFC;
l_query VARCHAR(3999);
v_rownum NUMBER;
v_count NUMBER;
BEGIN
l_query := 'select rownum from &table_name ';
FOR col IN (SELECT table_name,
column_name
FROM user_tab_columns
WHERE table_name = ' ') LOOP
l_query := l_query
||'DECODE('
||col.column_name
||',NULL,1,0)+';
END LOOP;
l_query := l_query
||'+0 as no_of_null_values from ... ';
dbms_output.Put_line(l_query);
OPEN col_cv FOR l_query;
LOOP
FETCH col_cv INTO v_rownum, v_count;
EXIT WHEN col_cv%NOTFOUND;
dbms_output.Put_line(v_rownum
|| ' '
|| v_count);
END LOOP;
CLOSE col_cv;
END;