Java 如何在PL SQL文件中获取函数名列表?

Java 如何在PL SQL文件中获取函数名列表?,java,oracle,plsql,Java,Oracle,Plsql,我正在尝试编写一个程序,它将打印PL/SQL文件中所有函数名的列表以及每个函数的后续函数调用 例如 在上述文件上运行所需代码时的输出应为: Fn_ABC Fn_xyz 对每个函数进行深度优先遍历似乎是合乎逻辑的选择,但我对如何运行它以获得每个函数名感到困惑 无需遍历.sql文件。在数据库中创建函数后,只需运行此查询即可获得函数所依赖的所有函数 SELECT NAME, REFERENCED_NAME FROM ALL_DEPENDENCIES WHERE NAME = 'FN_A

我正在尝试编写一个程序,它将打印PL/SQL文件中所有函数名的列表以及每个函数的后续函数调用

例如

在上述文件上运行所需代码时的输出应为:

Fn_ABC
    Fn_xyz

对每个函数进行深度优先遍历似乎是合乎逻辑的选择,但我对如何运行它以获得每个函数名感到困惑

无需遍历.sql文件。在数据库中创建函数后,只需运行此查询即可获得函数所依赖的所有函数

SELECT NAME, REFERENCED_NAME
  FROM ALL_DEPENDENCIES
 WHERE NAME = 'FN_ABC' AND TYPE = 'FUNCTION' AND REFERENCED_TYPE = 'FUNCTION';

@山姆,这不是你贴的复制品。您的帖子是关于SQL-SERVER的,问题是关于Oracle PL/SQL。我不确定“PL/SQL文件”是什么,但它似乎是指操作系统文件中的PL/SQL源代码。解析文件而不是查询字典会使任务的数量级更加困难,因为PL/SQL通常用于数据库处理,与文件无关。这将显示引用
FN_ABC
的对象,前提是它是一个独立函数。用户依赖项显示包和表,但不会减慢打包的过程或变量。要查看这些低级对象,我们需要使用PL\Scope,这在复制线程中讨论过。@APC:太酷了。谢谢我希望如果我和你这样的人一起工作(或在你手下工作):@APC,PL/Scope?当然可以?@KaushikNayak-谢谢,我很感激这种情绪。威廉可能不同意:)@WilliamRobertson-好地方。而且在移动键盘上输入``更费劲。我在想什么?
SELECT NAME, REFERENCED_NAME
  FROM ALL_DEPENDENCIES
 WHERE NAME = 'FN_ABC' AND TYPE = 'FUNCTION' AND REFERENCED_TYPE = 'FUNCTION';