Один из вариантов заключается в циклическом просмотре всех таблиц вместе с динамическим SQL.Примерно так:
SQL> DECLARE
2 l_list VARCHAR2 (50) := 'emp,dept';
3 l_cnt NUMBER;
4 BEGIN
5 FOR cur_t IN (WITH tabs AS (SELECT l_list FROM DUAL)
6 SELECT REGEXP_SUBSTR (l_list,
7 '[^,]+',
8 1,
9 LEVEL)
10 table_name
11 FROM tabs
12 CONNECT BY LEVEL <= REGEXP_COUNT (l_list, ',') + 1)
13 LOOP
14 EXECUTE IMMEDIATE 'select count(*) from ' || cur_t.table_name || ' where rownum = 1'
15 INTO l_cnt;
16
17 DBMS_OUTPUT.put_line (
18 cur_t.table_name || ' contains ' || l_cnt || ' row(s)');
19 END LOOP;
20 END;
21 /
emp contains 14 row(s)
dept contains 4 row(s)
PL/SQL procedure successfully completed.
SQL>
Вы бы включили условие, которое отображает таблицы, чьи L_CNT = 0
.