怎么统计oracle数据库下某个用户的表的数量

如题所述

  create or replace procedure tj_data is
-- 当前存储过程用到的变量
v_tableName VARCHAR2(100);
v_sql varchar2(200);
v_count integer;
-- 获取当前数据库中的所有表
CURSOR TABLE_LOOP IS SELECT Table_name FROM User_tables;
  BEGIN
-- 打开游标
OPEN TABLE_LOOP;
LOOP
FETCH TABLE_LOOP INTO v_tableName;
EXIT WHEN TABLE_LOOP %NOTFOUND;
v_sql:= 'select count(1) from '||v_tableName;
execute immediate v_sql into v_count;
dbms_output.put_line(v_tableName||':'||v_count);
END LOOP;
CLOSE TABLE_LOOP;
end tj_data;
  使用pl/Sql运行该存储过程,在DBMS Output窗口下可看到统计结果。(把Buffer size值适当调大一点)
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-08
查看用户表的数据字段名, 是
DBA_TABLES

SQL 如下:
SELECT
COUNT(*)
FROM
DBA_TABLES
WHERE
owner = '用户名'
第2个回答  2011-08-08
SELECT COUNT(*) FROM all_objects WHERE owner='TEST' AND object_type='TABLE'
这里TEST为用户名
all_objects是一个系统的视图名,存储了系统的表名,过程名等对象
SELECT owner,COUNT(object_type) FROM all_objects WHERE object_type='TABLE' GROUP BY owner
执行一下上面的语句看一下
select * from all_objects看一下,就会很明白了
另外说一个:
all_tab_columns是哪个用户下哪个表的列的描述
第3个回答  2011-08-08
select count(*) from user_tables;本回答被提问者采纳

oracle查询数据库表的数量
1、登录到Oracle数据库中,可以使用sqlplus或sqldev等工具。2、使用sys用户登录,有conn\/assysdba。3、查询当前用户下的表的数量。

怎么统计oracle数据库下某个用户的表的数量
使用pl\/Sql运行该存储过程,在DBMS Output窗口下可看到统计结果。(把Buffer size值适当调大一点)

Oracle数据库中如何查询一个用户A下面所有的表的信息
1、打开pl\/sql客户端,登录oracle数据库;2、编写sql,select * from user_tables t where table_name like 'TEST%' order by 1;即可查看该用户下所有的表;3、编写sql,select * from all_tables t;即可查看该库下所有用户所有的表;4、编写sql;select * from user_tab_cols t where table...

在oracle数据库中如果查询一个数据库中有哪几张表?
1、本文以plsql图形化管理工具为例,使用它连接oracle数据库。当点开plsql的时候,就需要输入用户名、密码、数据库然后连接。如果连接成功,就能查看里面的表等等操作,如果连接不成功,就输入正确的信息再次尝试。2、连接上数据库之后,默认会看到这个主界面。顶部是各种操作菜单,左侧第一个框是最近打开...

oracle数据库如何查询表数据量
存储空间可以用如下语句查:select * from user_segments s where s.BYTES is not null order by s.BYTES desc 查记录条数可以用如下语句:select *  from user_tables t where t.NUM_ROWS is not null order by t.NUM_ROWS desc ...

oracle查看所有表及各表行数
在Oracle数据库中,获取所有表及其对应行数的操作可以通过简单的SQL查询来完成。只需要关注两个字段,table_name表示表名,num_rows则是表的行数。以下是实现这一目标的两种方法:首先,要查看数据库中所有表的表名和行数,可以使用以下查询:1、查询所有表的SQL语句:selectt.table_name,t.num_rows...

oracle 数据库中如何将其中一个字段中的某一个状态个数统计出来
用一个过程 create or replace procedure procedure_name as begin insert into 统计表 select 字段名1,count(1) from 表 group by 字段名1 --统计表中的字段。(字段名1,数量)。如果有其它字段,请加入到下面select语句中。如:\/* insert into 统计表 select 字段名1,sysdate,'统计者的姓名',...

Oracle数据库中如何查询一个用户A下面所有的表的信息
1、看用户的表的信息如同marliuang所说,不再赘述。当然了你用A登录后也可以用命令(select tname from tab;)查看。2、显示乱码是因为oracle中的回收站(recyclebin)的缘故,为了防止用户误删除,oracle引入了回收站这一概念,你可以使用命令:purge recyclebin;(用户A登录)或者purge dbarecyclebin;...

oracle10g数据库中如何统计表的数据量
在oracle10g中统计所有表的数据量可以使用如下语句:select sum(NUM_ROWS) from dba_tables where owner like 'SCHEMA';说明一下,以上语句必须用dba账户登录才可以使用,其中的SCHEMA参数就是当前用户名。chema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业...

在Oracle数据库中如何查询某一个表空间下的某张表里面的数据;怎么查 ...
SELECT TABLESPACE_NAME,TABLE_NAME FROM DBA_TABLES WHERE TABLESPACE_NAME='XXXX';其中XXXX为你要查的表空间名字,这样就能查处指定表空间下的所有表,希望能帮到你

相似回答