`
streamsong
  • 浏览: 80042 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

查看某个用户下的所有空表

阅读更多

今天在群里有人问如何查看某个用户下的所有空表,有人回答是写PL/SQL
SQL> DECLARE
  2  v_table tabs.table_name%TYPE;
  3  v_sql VARCHAR2(888);
  4  v_q NUMBER;
  5  CURSOR c1 IS
  6  SELECT table_name tn FROM tabs;
  7  TYPE c IS REF CURSOR;
  8  c2 c;
  9  BEGIN
 10  DBMS_OUTPUT.PUT_LINE('以下为空数据表的表名:');
 11  FOR r1 IN c1 LOOP
 12  v_table :=r1.tn;
 13  v_sql :='SELECT count(*) q FROM '||v_table||' where rownum = 1';
 14  OPEN c2 FOR v_sql;
 15  LOOP
 16  FETCH c2 INTO v_q;
 17  EXIT WHEN c2%NOTFOUND;
 18  IF v_q=0 THEN
 19  DBMS_OUTPUT.PUT_LINE(v_table);
 20  END IF;
 21  END LOOP;
 22  CLOSE c2;
 23  END LOOP;
 24  EXCEPTION
 25  WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Error occurred');
 26  END;
 27  /
PL/SQL 过程已成功完成。
SQL> set serveroutput on
SQL> /
以下为空数据表的表名:
T_FILE_INFO_RAW
T_DOSSIER_INFO_RAW
T_FONDS_INFO_RAW
其实不用那么麻烦,而且表如果很多的话,执行会很慢
先收集下用户的信息
SQL> exec dbms_stats.gather_schema_stats(user);
PL/SQL 过程已成功完成。
再查看user_tables数据字典
SQL> exec dbms_stats.gather_schema_stats(user);
PL/SQL 过程已成功完成。
-------------------- ----------
T_FILE_INFO_RAW      0
T_DOSSIER_INFO_RAW   0
T_FONDS_INFO_RAW     0
验证结果是否准确
SQL> select count(*) from T_FILE_INFO_RAW;
COUNT(*)
       0
SQL> select count(*) from T_DOSSIER_INFO_RAW;
COUNT(*)
       0
SQL> select count(*) from T_FONDS_INFO_RAW;
COUNT(*)
       0
向T_FONDS_INFO_RAW表插入几条数据,在查看下
SQL> insert into T_FONDS_INFO_RAW (FILE_SUM) values(1111);
已创建 1 行。
SQL> insert into T_FONDS_INFO_RAW select * from T_FONDS_INFO_RAW;
已创建 1 行。
SQL> /
已创建2行。
SQL> /
已创建4行。
SQL> commit;
提交完成。
在收集下用户的信息
SQL> exec dbms_stats.gather_schema_stats(user);
PL/SQL 过程已成功完成。
SQL> select table_name,num_rows from user_tables;
TABLE_NAME             NUM_ROWS
------------------------------      ----------
T_FILE_INFO_RAW               0
T_DOSSIER_INFO_RAW           0
T_FONDS_INFO_RAW            8

SQL> select count(*) from T_FONDS_INFO_RAW;
COUNT(*)
       8
这种方法要比写PL/SQL方便得多。

0
0
分享到:
评论

相关推荐

    accesschk.exe tools

    基本功能一:查看某个用户或用户组对某个目录下各个文件或文件夹的权限。 命令1:了解某个文件或者目录的权限设定。 accesschk g:/test 会遍历test文件内的所有文件。 可以看到对这个目录下的每一个文件它都列出...

    Oracle DBA 常用的一些SQL语句(50个)

    查看表空间使用情况.sql 查看进程占用回滚段的情况.sql 查看那些数据库对象被修改过.sql 用oupput的ora过程.sql 用户命令查询.sql 用户进程查询.sql 监控数据库性能的SQL.sql 看user_job.sql 索引表清除sql生成.sql ...

    基于J2ME和web services的教室信息通

    用户想到某个教室学习,可以查看该教室在某个时间段是否有课,也可以查看在某个时间段的空教室等。 4.申请教室功能。用户为某个用途可以申请教室的使用权。 5.地图浏览功能。用户可以浏览学校的地图。

    MySQL用户查看、修改、授权

    注:下面sql语句都是在mysql库下执行的 创建用户 create user 'username'@'host' identified by 'password'; 参数说明: ...查看用户及权限 ...2、查看某个用户的权限 show grants for username@loc

    JSP完成的学生资料管理系统

    对用户进行的操作时查看所有的用户名和用户密码,如果想要删除某个用户,点击此用户旁边的删除即可删除此用户。对学生资料进行的操作有:添加学生资料、删除学生资料、修改学生资料、查询学生资料和查看所有的学生...

    jsp+mysql学生信息管理系统

    管理员可以对用户进行删除,可以查看用户所有的信息。 管理员和普通用户可以注销自己。 普通用户注册时,用户名和用户密码都不能为空,如果为空将返回重新注册,普通用户注册的用户名不能和已经有的用户重名,否则...

    MFC下写的一个基于TCP的聊天室程序

    17、每次发送信息后以及通过双击用户列表选中某个用户时,光标将默认处于“消息”框中以方便发送 18、当对某个人说话,而这个人退出时,提示“对象错误” 服务器端实现的详细清单(暂时只支持32个用户) 1、自动...

    Excel VBA实用技巧大全 附书源码

    03014判断某个表是否为工作表 03015获取工作表的显示状态 03016获取工作表的保护状态 03017判断工作表是否处于筛选模式 03018判断工作表是否存在(之一) 03019判断工作表是否存在(之二) 03020判断工作表是否自动...

    高效无重复自动编码解决方案示例

    一般自动编号功能,是先取得表中的已有最大号,然后在此基础上加1,如果每次生成编号都要从表中去取得最大编号,也就意味着每次生成编号都需要查询表中所有的记录,如果表中数据量很大,如有十万条以上,那么性能就...

    oracle 虚拟专用数据库详细介绍

    列级别:在该级别下,可以控制某些用户不能检索某个表的某个列的值。比如用户HR 下的 employees 表中,含有工资(salary)列,由于该列比较敏感,因此不让其他用户查询该列的值。 其他用户检索该列时,会发现其值...

    MYQQ.part1

    B:鼠标停留在某个好友上显示好的的简单介绍 8:主界面点击 信息管理: 查看聊天消息记录 9:用户个人设置: A:设置详细信息 B:设置联系方式 C:修改密码 10:主界面顶头区域显示用户头像和用户昵称,顶状态...

    广义表实验报告.doc

    初始条件:广义表L存在 操作结果:判断广义表L是否为空 GetHead(L); 初始条件:广义表L存在 操作结果:取广义表L的头 GetTail(L) 初始条件:广义表L存在 操作结果: 取广义表L的尾 InsertFirst_GL(&L,e) 初始条件:广义表L...

    ANNA:音频日志,它将提示用户在一天中的某个时间将新条目输入到他们的日志中。 可以提示用户问题或可以用作空白画布

    Anna是一个音频日志,它将在一天的指定时间提示用户在其日志中输入新条目。 可以提示用户有问题或可以用作空白画布带有语音识别软件以辅助记录笔记。 技术领域 使用以下项目创建项目: 与挂钩React Node.js 表示 ...

    vaadin框架开发的logviewer 是一个可以方便开发人员通过浏览器查看和下载远程服务器集群日志或指定文件的应用

    将war包复制到任意一台服务器某个路径下(最好新建一个空的目录),并将demo.db文件放置到同一目录下,demo.db文件为sqllite嵌入式数据库产生的文件,可以通过Navicat等工具直接打开编辑。默认登陆用户密码admin.- 2....

    orcale常用命令

    查看用户下所有的表 SQL>select * from user_tables; 查看名称包含log字符的表 SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0; 查看某表的创建时间 SQL>select ...

    MySQL命令大全

    例如:查看表 MyClass 中所有数据 mysql> select * from MyClass; 2)、查询前几行数据 例如:查看表 MyClass 中前行数据 mysql> select * from MyClass order by id limit 0,2; 或者: mysql> select * from ...

    检查表单元素的值是否为空的实例代码

    在实际的开发过程中,经常需要判断用户提交的表单中某个元素的值是否为空,还有一种情况是表单中所有元素的值都不允许为空。本实例将介绍一种简单有效的判断表单中所有元素是否为空的方法。 2.技术要点 主要是在...

    论坛数据库系统设计.doc

    表1-3-1 BBSUsers 用户信息表 "表中列名 "数据类型 "可否为空 "说明 " "UID "Int "not null(主键) "用户编号 " "UName "char "not null "用户姓名 " "UPassword "char "not null "用户密码 " "UEmail "char "not ...

    管家婆-辉煌版完整培训教程.doc

    经验之谈:无论是技术人员,还是直接用户,如果要去了解一套完全陌生的《管家婆 》帐本,第一步就是查看此表. 第四节 年结存 我们以商品ABC举例,说明"年结存"的作用: 例:商品ABC 期初量:10 "经营历程 "增/减量 ...

    Excel新增工具集

    3、创建选定文件夹下的文件目录:创建选定文件夹下所有文件目录,还可以包含该文件夹下所有子文件夹内的所有文件目录,也可以选择性的创建只创建Word、Excel文件目录,点击目录可轻松打开相当的文件。目录创建后,...

Global site tag (gtag.js) - Google Analytics