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

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 ;
(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐