欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oralce查询某一用户下所有表名带下划线_的空表

程序员文章站 2022-07-07 23:36:08
1.分析 主要有三个关键点: USER_TABLES(TABS) 模糊查询的下划线_处理 ORACLE-ANALYZE 1.1.USER_TABLES(TABS) USER...

1.分析

主要有三个关键点:

USER_TABLES(TABS) 模糊查询的下划线_处理 ORACLE-ANALYZE

1.1.USER_TABLES(TABS)

USER_TABLES(TABS):特定于当前用户的所有表的视图。

此时图包含表名(TABLE_NAME)、记录条数(NUM_ROWS)等信息。

例如,查询当前用户下所有的表名和记录条数:

select TABLE_NAME,NUM_ROWS from tabs;

1.2.模糊查询的下划线_处理

在Oralce的模糊查询中,不能直接将_当做下划线进行匹配。

因为_在模糊匹配中标识一个任何字符。

需要使用escape关键字进行转义。

例如,查询所有已AB_开头的表:

analyze table table_name compute statistics for table;

2.编写SQL

1.分析所有符合条件的表

select 'analyze table ' || t.TABLE_NAME || ' compute statistics for table;' from user_tables  t where t.TABLE_NAME like 'AB\_%' escape '\' ;

2.进行ORACLE-ANALYZE

将上面SQL的执行结果放到命令窗口进行执行。

3.编写并执行查询语句

select t.TABLE_NAME,t.NUM_ROWS from tabs t where t.NUM_ROWS = 0 and t.TABLE_NAME like 'AB\_%' escape '\' and t.NUM_ROWS = 0 ;