Oracle 查询数据库表的数量

Oracle 查询数据库表(查看当前用户下的表)的数量

SELECT count(*)
FROM sys.user_tables;

 

 

统计表中记录数量

 

第一步:新增count_rows 函数

    CREATE OR REPLACE FUNCTION count_rows (
        table_name IN varchar2,
        owner IN varchar2 := NULL
    )
    RETURN number AUTHID current_user
    AS
    num_rows number;
        stmt varchar2(2000);
    BEGIN
        IF owner IS NULL THEN
            stmt := 'select count(*) from "' || table_name || '"';
        ELSE
            stmt := 'select count(*) from "' || owner || '"."' || table_name || '"';
        END IF;
        EXECUTE IMMEDIATE stmt INTO num_rows;
        RETURN num_rows;
    END;

第二步:调用count_rows 函数,统计各种表的记录数

    select table_name, count_rows(table_name) nrows from user_tables
    order by nrows desc;

 

 


————————————————
链接:https://blog.csdn.net/zhouzhiwengang/article/details/110862492

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章