十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
可以查数据字典,select * from user_tables where num_rows=0。不过最好对table_name加一些限制避免行数过多。
创新互联公司-专业网站定制、快速模板网站建设、高性价比东阿网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式东阿网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖东阿地区。费用合理售后完善,十年实体公司更值得信赖。
先分析表
select 'analyze table '||table_name||' compute statistics;' from user_tables;
把查询结果依次执行
把所有表分析一遍
然后user_tables中就会刷新表的信息
select * from user_tables where num_rows=0;
查出行数为0的表信息.
MSSQL不知道
oracle在plsql里执行如下代码:
DECLARE
v_table tabs.table_name%TYPE;
v_sql VARCHAR2(888);
v_q NUMBER;
CURSOR c1 IS
SELECT table_name tn FROM tabs;
TYPE c IS REF CURSOR;
c2 c;
BEGIN
DBMS_OUTPUT.PUT_LINE('以下为空数据表的表名:');
FOR r1 IN c1 LOOP
v_table :=r1.tn;
v_sql :='SELECT COUNT(*) q FROM '||v_table;
OPEN c2 FOR v_sql;
LOOP
FETCH c2 INTO v_q;
EXIT WHEN c2%NOTFOUND;
IF v_q=0 THEN
DBMS_OUTPUT.PUT_LINE(v_table);
END IF;
END LOOP;
CLOSE c2;
END LOOP;
EXCEPTION
WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Error occurred');
END;
然后点output,显示的就是空表