Oracle数据库中有关记录个数的查询
生活随笔
收集整理的這篇文章主要介紹了
Oracle数据库中有关记录个数的查询
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
一、查詢表中全部的記錄個(gè)數(shù)
可用兩種方法,一種是在oracle的系統(tǒng)表中統(tǒng)計(jì),另一種需要寫存儲(chǔ)過程統(tǒng)計(jì),方法分別如下。
1、系統(tǒng)表中統(tǒng)計(jì):
| SELECT?sum(num_rows)?FROM?user_tables; |
結(jié)果:
?
2、存儲(chǔ)過程統(tǒng)計(jì),代碼如下:
declare v_tName varchar(50); v_sqlanalyze varchar(500); v_num number; v_sql varchar(500); cursor c1 is select table_name from user_tables; begin open c1; loop fetch c1 into v_tName; if c1%found thenv_sqlanalyze :='analyze table '||v_tName||' estimate statistics'; execute immediate v_sqlanalyze; v_sql := 'select NUM_ROWS from user_tables where table_name =upper('''||v_tName||''')';execute immediate v_sql into v_num; dbms_output.put_line('表名: '||v_tName||' 行數(shù): '||v_num); else exit; end if; end loop; end;?輸出結(jié)果
?
二、按照條件查詢記錄個(gè)數(shù)
Select?Count(*)?from?tablename where ID>1
?
?
?
三、查詢一個(gè)用戶下所有表的記錄總條數(shù)
declare v_count number(10); t_count number(10) default 0; cursor t_cur is select table_name from user_tables; begin for t_rec in t_cur loop execute immediate 'select count(*) from '||t_rec.table_name||' into v_count'; t_count:=v_count+t_count; end loop; dbms_output.put_line(to_char(t_count)); end;?
?
?
?
?
參考文章
1. badkano. 如何在oracle數(shù)據(jù)庫(kù)中查詢記錄總條數(shù)。
2.?fight2009, owl1230. oracle數(shù)據(jù)庫(kù)中如何查詢一個(gè)用戶下所有表的記錄總條數(shù)。
?
轉(zhuǎn)載于:https://www.cnblogs.com/arxive/p/5822284.html
總結(jié)
以上是生活随笔為你收集整理的Oracle数据库中有关记录个数的查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 相关子查询 与非相关子查询
- 下一篇: ios 中的小技巧 - 总有你想要的 一