使用SQL Developer探索Oracle数据库

时间:2018-09-02 16:34:38

标签: sql oracle-sqldeveloper

我在一个项目中,需要我查询数据库并临时生成 使用用户指定的列进行报告。

当我在另一个数据库上使用DB2时,几乎没有关于表和列的可用文档,我也可以使用下面提到的查询来获得我想要的东西

select * from syscat.procedures where procschema like 'ABCD' and text like '%your text%';
select * from syscat.columns where tabschema like 'ABCD' and colname like '%yourtext%';

在我的新项目中,我将在不同的数据库上使用Oracle,这一次我没有文档可以告诉我哪一列中包含哪些信息。另外,这个项目中没有人可以协助我。

Oracle中是否有像我上面从DB2中提到的查询那样的此类查询,可以帮助我从数据库中找到所需的内容?

1 个答案:

答案 0 :(得分:2)

欢迎使用Oracle!

自从标记了SQL Developer之后,我将向您展示如何在其中做您想做的事情。

但是首先,您感兴趣的观点:

  • ALL_TAB_COLUMNS
  • ALL_SOURCE

但是,要使用GUI搜索这些视图...

您可以使用报告来学习我们的数据字典。

enter image description here

您可以采用几种不同的方法,但这是“列”报告的示例。

enter image description here

浏览时,您可以观察“日志”部分中的“语句”面板。这样您就可以看到我们正在查询

enter image description here

通过查看针对该报告运行的查询,您可以看到我们正在访问以下数据字典视图:

SQL片段:

      owner         sdev_link_owner,
       table_name    sdev_link_name,
       'TABLE' sdev_link_type
   from sys.dba_tab_columns
  where (:owner is null
     or instr(
     owner,

DBA_TAB_COLUMNS(Oracle Docs

您会注意到,既有DBA_TAB_COLUMNS,也有ALL_TAB_COLUMNS。只有“超级用户”才能查询DBA_视图。任何人都可以查看ALL_视图,但是您只能看到数据库特权授予访问权限的对象。

还有USER_视图-它们仅显示您作为登录用户所需要的关于架构的知识。在Oracle中,架构和用户基本上是同一件事。

因此,尝试报告,回答您的问题。检查我们正在使用的SQL,学习数据字典。

您还可以使用我们的Search Feature-它是用于在数据库中查找内容的。

祝您在Oracle旅途中一切顺利!