sql - 如何选择函数定义作为查询?
问题描述
我想选择模式中所有函数的 PL/SQL 定义作为查询。原因是我想查询我的所有函数以获取特定文本。
对于这样的视图,我可以这样做:
select * from all_views
但是,我不确定如何使用函数来做到这一点。
可以做到吗?
解决方案
要列出所有功能,您可以查询字典ALL_OBJECTS
视图:
SELECT * FROM all_objects WHERE object_type = 'FUNCTION';
这将为您提供当前用户可用的所有功能(DBA_OBJECTS
列出数据库中的所有对象)。
然后,您可以从 view 检索函数的文本源ALL_SOURCE
:
SELECT o.object_name, s.line, s.text
FROM all_objects o
INNER JOIN all_source s
ON s.name = o.object_name AND s.type = o.object_type AND s.owner = o.owner
WHERE o.object_type = 'FUNCTION';
推荐阅读
- image - 如何在 Flutter 中仅捕获 renderObject 内部的图像而没有周围空间?
- python - 使用 cdk 从账户 B 中的 lambda 调用账户 A 中的 step 函数
- css - CSS中的Reactjs材质图标
- proxy - 我想使用 Jmeter 使用不同的公共 IP 发送每个 http 请求
- nlp - spaCy 的预训练依赖解析器的英语训练/开发数据在哪里?
- c++ - 无限循环的原因?(迭代中序遍历实现)C++
- python - 使用 mongo 查询(pymongo)的内部连接
- java - 工具栏没有隐藏在 android 活动中
- python-3.x - Windows 环境变量不起作用
- python - Pandas:在日期时间执行 Groupby 滚动时未保留索引