当前位置:数据库 > Oracle >>

使用UltraEdit快速分析Oracle表记录条数

使用UltraEdit快速分析Oracle表记录条数
 
有时候需要查看Oracle数据库当中一批表的记录数,比如遇到数据转换、数据核对的场景。 
 
方法一:先做表分析,然后查询Oracle系统表(不精确) 
 
Sql代码  
--生成所有表分析的语句   
elect 'analyze table '||tname||' compute statistics;' from tab;  
--执行上面的语句做全库表分析(数据量大就得等)   
--查询系统表看表大小 select * from user_tables where num_Rows>0;  

 

 
方法二:直接count,然后使用文本工具分析 
Sql代码  
--生成count语句  
select 'select count(1) from '||tname||';' from  tab  

 

 
执行结果 
 
Sql代码  
 SQL> select count(1) from STREETNEW;  
   
  COUNT(1)  
----------  
       326  
SQL> select count(1) from STREETMAP;  
   
  COUNT(1)  
----------  
       337  
SQL> select count(1) from STREETMANAGE;  
   
  COUNT(1)  
----------  
       141  
SQL> select count(1) from SIPLUGINTAB;  
   
  COUNT(1)  
----------  
         1  
SQL> select count(1) from SIPLUGINCOL;  
   
  COUNT(1)  
----------  
        12  
SQL> select count(1) from REMOTE_ORG_USER;  
   
  COUNT(1)  
----------  
      1548  

 

 
如果表多看起来就费劲了,怎么办? 
使用UltraEdit增加一个宏, 选择菜单 宏->编辑宏->新建宏(录入一个名称) 
 
宏代码  
InsertMode  
ColumnModeOff  
HexOff  
ColumnModeOn  
ColumnModeOff  
UltraEditReOn  
Find RegExp ";"  
Replace All ""  
UltraEditReOn  
Find RegExp "SQL> select count(1) from "  
Replace All ""  
UltraEditReOn  
Find RegExp "   
  COUNT(1)  
----------"  
Replace All ""  
UltraEditReOn  
Find RegExp "   
  COUNT(1)  
----------"  
Replace All ""  
UltraEditReOn  
Find RegExp " "  
Replace All ""  
UltraEditReOn  
Find RegExp "  
  
"  
Replace All "^t"  

 

 
保存以后,新建文件,贴入上面的sql执行结果(光标移动到文件最开始),选择运行宏,刚才的sql查询结果变成这样了: 
 
Sql代码  
STREETNEW   326  
STREETMAP   337  
STREETMANAGE    141  
SIPLUGINTAB 1  
SIPLUGINCOL 12  
REMOTE_ORG_USER 1548  

 

 
把这个结果copy到Ecxel当中,非常完美了。 
 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,