如何在Oracle中根据值找到表名

22 浏览
0 Comments

如何在Oracle中根据值找到表名

这个问题已经有答案了

在Oracle中搜索所有表的所有字段以查找特定值

获取Oracle中所有表的列表?

如何根据我在Oracle中传递的值找到表名?查询应该检查模式中的所有表,以检查给定值是否存在于任何表中

admin 更改状态以发布 2023年5月24日
0
0 Comments

根据您的描述,您基本上有三种不同的选择,可以实现所需的结果:

  1. 您可以查询user_tables表并检查您模式中可用的所有表。可以从任何用户调用此表,因此您不需要任何特定的权限。

    SELECT * FROM USER_TABLES WHERE TABLE_NAME LIKE '%SOMETHING%';

  2. 您可以查询all_tables表。为此,您可能需要一些更好的特权,因为调用user_tables时需要。

    SELECT * FROM ALL_TABLES WHERE TABLE_NAME LIKE '%SOMETHING%';

  3. 您可以查询dba_tables表。正如您预期的那样,对于此表,您将需要很大的特权才能检索所需的信息。

    SELECT * FROM DBA_TABLES WHERE TABLE_NAME LIKE '%SOMETHING%';

提示:
如果您不太确定您正在寻找一张表,请使用ALL_OBJECTS表并确定对象的类型。

0