论坛首页 综合技术论坛

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

浏览 4146 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-09-07  
有时候需要查看Oracle数据库当中一批表的记录数,比如遇到数据转换、数据核对的场景。

方法一:先做表分析,然后查询Oracle系统表(不精确)
 --生成所有表分析的语句 
select 'analyze table '||tname||' compute statistics;' from tab;
 --执行上面的语句做全库表分析(数据量大就得等) 
 --查询系统表看表大小 select * from user_tables where num_Rows>0;


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

执行结果
 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查询结果变成这样了:

STREETNEW	326
STREETMAP	337
STREETMANAGE	141
SIPLUGINTAB	1
SIPLUGINCOL	12
REMOTE_ORG_USER	1548


把这个结果copy到Ecxel当中,非常完美了。


附件是可以导入UE的宏


  • 大小: 3.6 KB
   发表时间:2013-09-16  
内容很不错,谢谢了
0 请登录后投票
   发表时间:2013-09-22  
随便自己写点java代码或写点sql test script,用dbms输出也比这个方便
0 请登录后投票
   发表时间:2013-12-16  
对的,写个脚本也比这个方便.
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics