获取 oracle db 中的所有视图以及行数、列数、主键等详细信息

Posted

技术标签:

【中文标题】获取 oracle db 中的所有视图以及行数、列数、主键等详细信息【英文标题】:Fetch all views in oracle db along with details like number of rows,columns, primary keys etc 【发布时间】:2020-07-29 10:46:22 【问题描述】:

我正在尝试编写一个查询以检索 oracle 数据库中的所有视图以及每个视图的行数、列数和主键数。

我尝试了“all_views”,但它没有提供我需要的东西。

有人可以帮我解决这个问题吗?

提前致谢

【问题讨论】:

视图没有主键,因为它们可以基于多个表。 【参考方案1】:

all_views 告诉您视图的名称(您可以访问,系统中可能还有更多)。 all_tab_columns 将为您提供列的名称。正如@GerardH.Pille 指出的那样,视图没有主键。您需要依次对每个视图运行select 以确定它可以返回的行数(请记住,视图可能具有通过会话变量、上下文或其他一些特定于会话的设置进行过滤的逻辑)这样不同的用户或不同的会话可能会得到不同的结果。根据您的系统,这可能会变得相当昂贵。

【讨论】:

以上是关于获取 oracle db 中的所有视图以及行数、列数、主键等详细信息的主要内容,如果未能解决你的问题,请参考以下文章

如何查询oracle中的所有表和视图

在单个 oracle 查询中获取行数和其他列值

Oracle DB 视图将列数值显示为文本相对值

DB2 与 Oracle 中的查询

Oracle复习约束以及视图

获取oracle视图SQL语句的工具