精华内容
下载资源
问答
  • oracle查询所有表记录数

    千次阅读 2017-10-25 09:46:25
    查看记录数,但是num_rows不是实时的,存储的是上次分析后的值,不准确,要使用该方法,必须分析后才可以使用。 方法二: 1、创建函数create or replace function count_rows(table_name in varchar2, owner i

    方法一:
    select t.table_name,t.num_rows from all_tables t
    查看记录数,但是num_rows不是实时的,存储的是上次分析后的值,不准确,要使用该方法,必须分析后才可以使用。
    方法二:
    1、创建函数

    create or replace function count_rows(table_name in varchar2,   
    owner in varchar2 default null)  
    return number  
    authid current_user 
    IS 
       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;

    2、通过函数计算

    select table_name, count_rows(table_name)  nrows from all_tables order by nrows desc 
    展开全文
  • oracle查询用户全部表记录数

    千次阅读 2018-11-06 08:18:18
    oracle查询用户全部表记录数

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                    oracle查询用户所有表记录数

    因现场需要升级应用,为安全起见先评估数据量,oracle,一条命令就能搞定。有个需要注意的,需要有DBA权限的用户才行。

     

    select TABLE_NAME,NUM_ROWS from dba_all_tables order by num_rows desc如查询某个用户的:select TABLE_NAME,NUM_ROWS from dba_all_tables where owner='用户大写' order by num_rows desc
    <span style="font-family: Tahoma; font-size: 14px; line-height: 24px;">oracle查询某用户下所有表记录数</span><br style="margin: 0px; padding: 0px; font-family: Tahoma; font-size: 14px; line-height: 24px;" /><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Tahoma; font-size: 14px; line-height: 24px;"> </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Tahoma; font-size: 14px; line-height: 24px;"><span style="margin: 0px; padding: 0px; list-style: none outside none; word-break: normal; word-wrap: break-word;font-size:14px;">查询数据库表信息:</span></p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Tahoma; font-size: 14px; line-height: 24px;"> </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Tahoma; font-size: 14px; line-height: 24px;"> </p><pre class="sql" name="code" style="margin-top: 0px; margin-bottom: 0px; padding: 0px; font-size: 14px; line-height: 24px;">select NUM_ROWS,TABLE_NAME from dba_all_tables 

     

    select NUM_ROWS,TABLE_NAME from dba_all_tables WHERE OWNER='PIG'

    
     
    <span style="font-family: Tahoma; font-size: 14px; line-height: 24px;">Oracle 记录表名和表记录数</span><br style="margin: 0px; padding: 0px; font-family: Tahoma; font-size: 14px; line-height: 24px;" /><span style="font-family: Tahoma; font-size: 14px; line-height: 24px;">oracle那个系统表同时记录表名和表记录数的?</span><br style="margin: 0px; padding: 0px; font-family: Tahoma; font-size: 14px; line-height: 24px;" /><br style="margin: 0px; padding: 0px; font-family: Tahoma; font-size: 14px; line-height: 24px;" /><span style="font-family: Tahoma; font-size: 14px; line-height: 24px;">select table_name , num_rows from user_tables;</span>
               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • Oracle查询数据库中所有表记录数

    万次阅读 2018-12-05 15:31:31
    Oracle查询数据库中所有表记录数 查询库中的表名和记录数: SELECT T.TABLE_NAME, T.NUM_ROWS FROM USER_TABLES T; 查询库中记录总数: SELECT SUM(A.NUM_ROWS) FROM (SELECT T.TABLE_NAME, T.NUM_ROWS ...

    Oracle查询数据库中所有表的记录数

    查询库中的表名和表中记录数:

    SELECT T.TABLE_NAME, T.NUM_ROWS FROM USER_TABLES T;

    查询库中记录总数:

    SELECT SUM(A.NUM_ROWS)
      FROM (SELECT T.TABLE_NAME, T.NUM_ROWS FROM USER_TABLES T) A;

    如图所示:

    Oracle一下简单使用

    1、用户操作

    select * from dba_users;
    create user test identified by 123456;
    alter user test identified by 123456;
    grant connect,resource to test ;
    alter user test quota unlimited on users;
    drop user test cascade;

    2、用户

    select * from user_users;
    查看当前用户的角色
    select * from user_role_privs;
    查看当前用户的系统权限和表级权限
    select * from user_sys_privs;
    select * from user_tab_privs;

    3、表

    查看用户下所有的表
    select * from user_tables;
    查看某表的创建时间
    select * from user_objects where object_name=upper('test');
    查看某表的大小
    select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('test');

    4、索引

    查看索引个数和类别
    select index_name,index_type,table_name from user_indexes order by table_name;
    查看索引被索引的字段
    select * from user_ind_columns where index_name=upper('&index_name');
    查看索引的大小
    select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name');

    5、序列号

    查看序列号,last_number是当前值
    select * from user_sequences;

    6、视图

    select * from user_views;

    7、存储函数和过程

    查看函数和过程的状态
    select object_name,status from user_objects where object_type='FUNCTION'; select object_name,status from user_objects where object_type='PROCEDURE';
    查看函数和过程的源代码
    select text from all_source where owner=user and name=upper('&plsql_name');

    8、SQL时间计算

    SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -1), 'yyyyMMdd') SYY FROM DUAL;  --计算上一个月

    9、Oracle的connect by level的使用

    获取连续数字示例代码:
    1 -- 获取连续的数据(注意:level只用使用<,<=,=符号)
    2 select level from dual connect by level <= 5;   -- 1 2 3 4 5

    获取连续的日期示例代码:

    1 -- 获取连续的指定时间(注意:获取连续的时间需要包含当天需要再+1天)
    2 select sysdate-level+1 days from dual connect by level <= 5; 

    统计填充示例代码:

     1 /*
     2     问题:查询1981年每月入职的人数,没有入职的以0补充
     3     解决:1.创建一个连续的年份表进行关联
     4          2.关联的条件,截取时间相等进行关联
     5          3.注意:a.需要所有的时间,因此要让时间表主表
     6                 b.如果emp表有条件,要单独在(SELECT * FROM emp)中添加,不然会影响结果,导致时间不全
     7                 c.使用其他函数,如SUM求和可能为空用NVL函数,这里以count函数举例
     8 */
     9 SELECT times.days 月份,NVL(COUNT(e.EMPNO),0) 入职人数 FROM (SELECT * FROM emp) e
    10 RIGHT JOIN (
    11     select TO_CHAR(ADD_MONTHS(TO_DATE('2010-12-01', 'yyyy-MM-dd'),-LEVEL+1),'yyyy-MM') days 
    12     FROM dual CONNECT BY LEVEL <= 12
    13 ) times
    14 ON SUBSTR(TO_CHAR(e.HIREDATE,'yyyy-MM-dd hh24:mi:ss'), 0, 7) = times.days
    15 GROUP BY times.days
    16 ORDER BY times.days

     月份          入职人数

    2010-01    0

    2010-02    2

     

     

     

    展开全文
  • 由于业务需要,根据关键字,查询所有表所有字段包含该关键字的记录数,方便系统维护中核查数据。直接上代码,同行指正。

         由于业务需要,根据关键字,查询所有表中所有字段包含该关键字的记录数,方便系统维护中核查数据。直接上代码,同行指正。

    CREATE OR REPLACE PROCEDURE PM_QUERY_KEY_WORD_INFO (
      V_KEY_WORD IN VARCHAR2 
    ) AS 
      -- SQL STRING
      V_SQL     VARCHAR2(4000);
      -- FIELD OF TABLE
      V_TB_COL  VARCHAR2(512);
      -- RECORD NUMBER
      V_CNT     NUMBER(18,0);
      
      CURSOR CUR_SQLS IS 
        SELECT 'SELECT ''' || X.TABLE_NAME || '.' || X.COLUMN_NAME || ''' AS COL_NAME, NVL(COUNT(' || X.COLUMN_NAME || '),0) AS CNT FROM ' || X.TABLE_NAME 
               || ' A WHERE A.' || X.COLUMN_NAME || ' LIKE ''%' || V_KEY_WORD || '%''' AS SQL_STR 
        FROM COLS X JOIN USER_OBJECTS Y ON X.TABLE_NAME = Y.OBJECT_NAME
        WHERE Y.TEMPORARY <> 'Y' AND OBJECT_TYPE = 'TABLE' 
              AND X.DATA_TYPE IN ('CHAR','VARCHAR2','VARCHAR') 
        ORDER BY X.TABLE_NAME,COLUMN_ID;
    /**
      维护使用:传入关键字,查询所有表,返回表对应字段含有关键字的记录数。遇到已经删除的表跳过。
    */
    BEGIN
      FOR CV_SQL IN CUR_SQLS LOOP
        V_SQL := CV_SQL.SQL_STR; -- 获取将要执行的SQL语句;
        BEGIN
          EXECUTE IMMEDIATE V_SQL INTO V_TB_COL, V_CNT;
          IF V_CNT > 0 THEN
            DBMS_OUTPUT.PUT_LINE('表:' || SUBSTR(V_TB_COL,1,INSTR(V_TB_COL,'.',1,1) - 1) || ' 列:' || SUBSTR(V_TB_COL,INSTR(V_TB_COL,'.',1,1) + 1) ||
                                 ' 有 ' || TO_CHAR(V_CNT)|| ' 条记录含有字串"' || V_KEY_WORD || '" ');
          END IF;
        EXCEPTION WHEN OTHERS THEN
          DBMS_OUTPUT.PUT_LINE('=== 错误语句:===' || V_SQL);
        END;
      END LOOP;
    END PM_QUERY_KEY_WORD_INFO;


    展开全文
  • Oracle查询数据库中所有表记录数 select t.table_name,t.num_rows from user_tables t   查询结果如下   若以上SQL查找不到,执行如下脚本即可: >>>>>>>>>>>>>>>>>>>>>>>>>>>>
  • 在平常的数据库操作中,有时候我们会进行查询某个表有多少记录数,对于这种问题我们经常...这时候我们就需要找到一种快速查询表数据量大小的方法。 执行步骤: 在ORACLE数据库中,可以通过DBA_TABLES、ALL_TABLES...
  • Oracle 记录表名和表记录数

    千次阅读 2012-12-06 09:39:35
    oracle那个系统同时记录表名和表记录数的?  select table_name , num_rows from user_tables;
  • 查询近段时间修改的记录: SELECT 被修改表字段,VERSIONS_STARTTIME,VERSIONS_ENDTIME,VERSIONS_OPERATION FROM VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE WHERE VERSIONS_STARTTIME IS NOT NULL ...
  • 如我想查看用户M下的所有表的总记录数: SELECT SUM(num_rows) FROM SYS.ALL_TABLES T WHERE T.OWNER = 'M';1但是查出的不是实时记录数。 如果想查看用户M下所有表的...1Oracle查询数据库中所有表记录数: se...
  • 查询Oracle用户下所有表记录总数

    千次阅读 2018-07-23 11:04:21
    查询时需要DBA权限 //查询某用户下所有表记录总数 SELECT SUM(NUM_ROWS) FROM dba_tables WHERE owner='FGWPM_PM';  
  • oracle 查询表的操作记录

    千次阅读 2019-01-28 16:12:27
    1,查看某一时间的执行过的所有sql select t.SQL_TEXT, t.FIRST_LOAD_TIME from v$sqlarea t where t.FIRST_LOAD_TIME like '2019-01-28%' order by t.FIRST_LOAD_TIME desc # : 2019-01-28% 为哪一时间的...
  • SELECT * FROM 1 t1 JOIN (SELECT *, ROW_NUMBER() OVER(PARTITION BY 单据ID ORDER BY 处理时间 DESC) rn FROM 2 ) t2 ON t1.单据ID = t2.单据ID AND t2.rn = 1 ...
  • 查询历史数据关键字TIMESTAMP SELECT * FROM ROLE_RESOURCE AS OF TIMESTAMP TO_TIMESTAMP('2018-10-11 11:10:00', 'yyyy-mm-dd hh24:mi:ss') WHERE role_id='25' ORDER BY RESOURCE_ID, 做数据减法 关键字minus ...
  • 准确计算oracle表分区记录数

    千次阅读 2016-06-02 20:37:53
    1,先对表进行分析: analyze table [table] compute statistics; 2,然后查询表分区记录数 select t.partition_name,t.num_rows from all_tab_partitions t where table_name='table_name'
  • Oracle数据库查询表记录为空,Empty result set fetched,此时没有数据,获取不到任何值,但是此时我们需要根据结果来做计算,因此可以使用count()函数来做结果统计,将统计结果用来做判断。 场景:需要查询出...
  • ORACLE理论最大记录数

    千次阅读 2018-01-17 13:30:00
    不考虑硬件诸如内存,存储等硬件的限制。 一张理论能存储多少条记录呢?   假设: 一个tablespace中包含1022个datafiles,...那么一张理论最大存储记录数约为:   1.一个空间tablespace的最大值:datafile个...
  • 如我想查看用户M下的所有表的总记录数: SELECT SUM(num_rows) FROM SYS.ALL_TABLES T WHERE T.OWNER = 'M...
  • 转载于:https://www.cnblogs.com/zhailiming/p/5579488.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 393,560
精华内容 157,424
关键字:

oracle查询所有表的记录数