Oracle存储过程/函数加载顺序

Dan*_*tes 0 sql oracle plsql

我在文件夹中有许多存储过程和函数.我有一个批处理文件循环遍历文件夹中的.sql文件,并将文件名写入单个SQL文件以供执行.在此之后,批处理文件在SQLPlus中执行单个文件.我遇到的问题是创建存储过程和函数的顺序.我收到编译错误,因为存储过程C需要函数A来执行,但是存储过程C是在函数A之前创建的.有没有办法绕过它而不排序存储过程和函数?我的假设是没有,但我想在开始订购脚本之前确定.

Dav*_*dge 5

您可以加载它们然后遍历依赖项视图以尝试下次正确的顺序,或者只是加载它们然后重新编译,但实际上最好的工作方式是使用包而不是独立的过程和函数.

在这种情况下,您将首先创建所有包规范,然后创建包体.出于这个原因,它们被分成规格和正文.