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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么统计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值适当调大一点)
参考技术A 查看用户表的数据字段名, 是
DBA_TABLES

SQL 如下:
SELECT
COUNT(*)
FROM
DBA_TABLES
WHERE
owner = '用户名'
参考技术B 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是哪个用户下哪个表的列的描述
参考技术C select count(*) from user_tables;本回答被提问者采纳

mysql查询某个数据库表的数量

今天想查询下数据库有多少个表,粗略评估下项目大小。

在mysql中有个数据库information_schema下的表tables记录了所有数据库中所有的表相关信息
sql语句:
SELECT COUNT( * ) FROM information_schema.tables WHERE TABLE_SCHEMA = ‘dbName‘;
注:dbName为数据库的名字

 

以上是关于怎么统计oracle数据库下某个用户的表的数量的主要内容,如果未能解决你的问题,请参考以下文章

怎么查看 oracle中某个表空间里的表名

Oracle 批量修改某个用户下表的表空间

SqlServer查询某个数据库中表的数量?

怎么在oracle数据库中想统计一个用户下所有表的记录的总条数?

在Oracle数据库中如何查询某一个表空间下的某张表里面的数据;怎么查询某个表空间下的所有表的信息

oracle 怎样查询某用户下的所有表的表名