Oracle查询问题: 给出相应的表名 如:SELECT t.table_name FROM All_All_Tables t ;

现在,我需要把这些查出来的表中有数据的和没有数据的表名查询出来,分别作为2列显示有数据的表和无数据的表的SQL语句。存储过程也行。给个思路也行!!谢谢在线等。。关键现在给... 现在,我需要把这些查出来的表中有数据的和没有数据的表名查询出来,分别作为2列显示有数据的表和无数据的表的SQL语句。存储过程也行。给个思路也行!!谢谢在线等。。
关键现在给的是一些表名,通过查询表里面的有没有数据,没有数据的显示出来,有数据的显示出来,就是做个分开。返回的是有数据的表名和无数据的表名作为结果集
展开
 我来答
psychic0111
2011-07-29 · TA获得超过999个赞
知道小有建树答主
回答量:463
采纳率:100%
帮助的人:224万
展开全部
SQL1:
select decode(t.num_rows, 0, t.table_name, null) 无数据的表,
decode(t.num_rows, 0, null, t.table_name) 有数据的表
from user_tables t
where t.table_name in (SELECT t1.table_name FROM All_All_Tables t1);

SQL2
select decode(t.num_rows, 0, t.table_name, null) 无数据的表,
decode(t.num_rows, 0, null, t.table_name) 有数据的表
from user_tables t
WHERE t.table_name LIKE 'AC%';
zhenying0414
2011-07-28
知道答主
回答量:53
采纳率:0%
帮助的人:21.3万
展开全部
declare @tablename varchar(300)
declare curtablelist cursor for select name from sysobjects where xtype='u'
open curtablelist
fetch next from curtablelist into @tablename
while @@fetch_status=0
begin
exec('if not exists(select * from '+@tablename+' ) print '''+@tablename+'''')
fetch next from curtablelist into @tablename
end
close curtablelist 这个用游标 显示无数据的表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
包飞风7B
2011-07-28 · TA获得超过1840个赞
知道小有建树答主
回答量:368
采纳率:100%
帮助的人:220万
展开全部
收集所有表的统计信息,然后查看all_all_tables的 row_num列 为0的就是空表不为0的就不是空表,null值就是没有收集统计信息。
追问
能详细点吗?比喻说登录一个用户:
SELECT t.table_name FROM user_tables t WHERE t.table_name LIKE 'AC%';
查询了所有当前用户下的所有表,然后在怎么判断?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
已答来学
2011-07-28
知道答主
回答量:96
采纳率:0%
帮助的人:22.3万
展开全部
select count(all_all_tables.*) ,t.table_name from all_all_Tables t; 我也新学 看看行不。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式