如何列出名称中具有匹配字符串的所有表

时间:2018-10-31 21:37:37

标签: oracle plsql oracle-sqldeveloper plsqldeveloper

在Oracle DB中,如何列出模式中存在的所有表,并且表名具有子字符串(如Student)?假设您有一个表格列表,例如College_student,Student_Offer或Student_Dept等。

2 个答案:

答案 0 :(得分:2)

SELECT table_name
  FROM all_tables
 WHERE owner = :owner
   AND upper(table_name) LIKE '%STUDENT%';

我们在谓词中首先使用名称的首字母缩写,因为某些人坚持使用Oracle中区分大小写的对象名称。

我在LIKE搜索中使用STU vs STUDENT运行此命令,并看到这些结果-

enter image description here

由于您标记了SQL Developer,因此您可以简单地使用连接树浏览架构,并可以选择在名称上添加过滤器。

enter image description here

答案 1 :(得分:1)

您可以查询all_tables表:

SELECT table_name
FROM all_tables
WHERE table_name LIKE '%student%';