sql - 使用 SQL Developer 探索 Oracle 数据库
问题描述
我在一个项目中,该项目需要我查询数据库并使用用户指定的列生成临时报告。
当我在一个不同的数据库上使用 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 那样的查询,可以帮助我从数据库中找到我需要的东西?
解决方案
欢迎来到甲骨文!
既然您标记了 SQL Developer,我将向您展示如何在那里做您想做的事情。
但首先,您感兴趣的观点:
- ALL_TAB_COLUMNS
- ALL_SOURCE
但是,要使用 GUI 搜索这些视图...
您可以使用报告来了解我们的数据字典。
您可以采用几种不同的方式,但这里有一个示例,列报告。
在浏览时,您可以观察日志部分中的语句面板。所以你可以看到我们正在查询
通过查看为此报告运行的查询,您可以看到我们正在访问以下数据字典视图:
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 文档)
您会注意到有一个 DBA_TAB_COLUMNS 和一个 ALL_TAB_COLUMNS。只有“超级用户”可以查询 DBA_ 视图。任何人都可以查看 ALL_ 视图,但您只能查看您的数据库权限授予访问权限的对象。
还有 USER_ 视图 - 它们仅显示您需要了解的有关您登录用户的架构的信息。在 Oracle 中,模式和用户基本上是一回事。
所以,试试报告,回答你的问题。检查我们正在使用的 SQL,学习数据字典。
您还可以使用我们的搜索功能- 它专为在数据库中查找内容而设计。
祝您的 Oracle 之旅好运!
推荐阅读
- node.js - 平均堆栈 multer 上传“消息”:“无法读取未定义的属性‘文件名’”
- python-3.x - 列表理解中的类没有属性
- while-loop - 虽然关于八度的声明
- data-visualization - DataStudio 中的比较计算器
- xmpp - Jicofo 焦点错误:无法解析传入的节
- python - 如何区分python中的目录和文件路径?
- javascript - CSS中的动态动画
- amazon-cognito - 具有基于邀请的用户注册的 MFA 和 Cognito
- c# - 如何在运行时在更新中应用速度变量的更改?
- c# - 检查一个对象是否在指定的视野中看到另一个对象