oracle如何查询空表,oracle查询某列为空的数据-成都快上网建站

oracle如何查询空表,oracle查询某列为空的数据

如何在ORACLE中查询某一用户下所有的空表

先分析表

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟主机、营销软件、网站建设、平利网站维护、网站推广。

select 'analyze table '||table_name||' compute statistics;' from user_tables;

把查询结果依次执行

把所有表分析一遍

然后user_tables中就会刷新表的信息

select * from user_tables where num_rows=0;

查出行数为0的表信息.

如何知道oracle数据库哪些表是有数据的?哪些表是空的没有数据?

select * from all_all_tables

这是查询Oracle中的所有的表,包括SYS用户下的,你可以根据表空间和所属用户来限制查询结果

where owenr='' and tablespacename=''

想要查出没数据的话,all_all_tables中有个num_rows字段,记录该表数据是多少行的,rows=‘0’的肯定是没数据的,

select * from all_all_tables

where num_rows='0'

and owenr='所属用户' and tablespacename='所属表空间'

即可。

ORACLE查询空表

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,显示的就是空表

oracle中 查找所有没有数据的表

select 'select count(*) from ' ||table_name||';' from tabs;

把得到的sql语句拷贝出来执行就行了

那你就写个存储过程吧

把上边那句定义成游标,然后挨个执行

执行的表名和count(*)插入到自己定义的表里,自己定义的表两列就够了,一个是table_name ,一列是count

oracle数据库查询哪张表是空表

可以查数据字典,select * from user_tables where num_rows=0。不过最好对table_name加一些限制避免行数过多。


分享标题:oracle如何查询空表,oracle查询某列为空的数据
文章源于:http://kswjz.com/article/dscogoc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流