登录sys用户后通过user_tables表查看当前用户下表的张数。
sql:conn / as sysdba;
sql:select count() from user_tables ;
解释:必须是登录到系统的超级用户后后,通过上面sql读取出”用户表“中记录的行数(每个表会有一条记录),即为当前数据库下的表张数。
1、首先在oracle软件中,可以使用下面的 SELECT 语句:(其中%就是通配符,标识表达式>=1个字符)。
2、使用其他的通配符的SQL语句如下图示。
3、使用全通配符,就可以实现一个字符串是否包含包含某个字符串的查找了。
4、通过使用not关键字可以使用不包含查找。
5、最后在SQL中,可使用以下通配符,如下图所示,就完成了。
楼上的答案肯定不对, 因为 rownum 伪列是 sql 语句查询结果集的编号, 如果有数据被查出来那么 rownum 一定是从 1 开始的, 不可能从 3 开始, 所以select from table
where rownum between n and n+3 永远返回零条记录。
正确的做法:
select from table where rownum <= n+3 minus select from table where rownum <3;
select a国家,a数量 from (select rownum 排序,国家,数量 from table order by 国家 desc) a where a排序<6
union all
select '其他',sum(a数量) from (select rownum 排序,国家,数量 from table order by 国家 desc) a where a排序>5
一条语句也可以实现,不过要嵌套三层,可能效率还没这个高呢。
1、如果是一张不停插入,但是不做修改的表,那么恭喜,碰到最简单的情况了,可以通过查找rowid最大的5条记录,就是。
2、如果不是第一种情况那么,提供以下几种办法可以尝试:
a、查找最近用过的sql,你可以通过v$sql视图以last_active_time为关键字查看。
b、使用快照闪回查询。(成功可能不大,除非你的表改写量比较低,不然两个scn之间可能会有很多的数据,比较难实现。)
c、使用logminer从archivelog中读取信息。(肯定可以成功,不过耗时嘛)
其中值得注意的是方法b是需要你的数据库在归档模式才能用的,方法c最好是在归档模式,不然只好分析你的redolog了。
以上就是关于oracle数据库,有没有能同时查询多张表下有多少条数据全部的内容,包括:oracle数据库,有没有能同时查询多张表下有多少条数据、oracle取前几条数据语句、在oracle数据库中如何查询出第N条到N+3条数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)