【发布时间】:2019-06-30 23:03:04
【问题描述】:
我想选择模式中所有函数的 PL/SQL 定义作为查询。原因是我想查询我的所有函数以获取特定文本。
我可以为这样的视图执行此操作:
select * from all_views
但是,我不确定如何使用函数来执行此操作。
可以吗?
【问题讨论】:
标签: sql oracle function oracle12c function-definition
我想选择模式中所有函数的 PL/SQL 定义作为查询。原因是我想查询我的所有函数以获取特定文本。
我可以为这样的视图执行此操作:
select * from all_views
但是,我不确定如何使用函数来执行此操作。
可以吗?
【问题讨论】:
标签: sql oracle function oracle12c function-definition
要列出所有功能,可以查询the ALL_OBJECTS dictionary view:
SELECT * FROM all_objects WHERE object_type = 'FUNCTION';
这将为您提供当前用户可用的所有功能(DBA_OBJECTS 列出数据库中的所有对象)。
然后,您可以从视图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';
【讨论】: