合格的 Oracle 函数名称

Qualified Oracle Function Name

您好,我使用 SQL 服务器已有一段时间了。不过,我今天在使用 Oracle 11g,但我有点迷茫。

我看到一个名为“Inventory_Part_Config_API.Get_Estimated_Material_Cost(contract, part_no, '*')”的对象。

如何查看此函数的定义?
Inventory_Part_Config_API 是架构吗?一袋?数据库? (我很确定 Oracle 没有像 SQL 服务器那样的 'databases'。

如果Inventory_Part_Config_API是一个包,如何查看所有的包?数据库也一样。我知道如何查看所有模式,但我没有看到。

如评论中所述,您可以使用 USER_OBJECTS 查看您的用户是所有者的所有对象,在 DBA_OBJECTS 中您可以查看数据库中的所有对象,您可能无法访问我想一想,如果您没有足够的权限(您需要对此视图或 DBA 角色有明确的权限)。最好的方法可能是使用 ALL_OBJECTS 应该列出您的用户可以访问的所有对象。所以你可以这样做:

SELECT object_type FROM ALL_OBJECTS WHERE object_name = 'name_of_your_object';

如果您想检查模式,请使用 SELECT * FROM DBA_USERS 每个模式都是 Oracle DB 中的用户。

Inventory_Part_Config_API 看起来像一个包,而 Get_Estimated_Material_Cost 是该包中的一个过程。 如果您有 PL/SQL 开发人员,您可以使用 RMB->View Spec and Body 直接转到此包。

如果您只使用 SQL 加上命令提示符,那么您可以使用以下命令查看包的来源。

Select Text from User_Source where Name Like UPPER('Inventory_Part_Config_API');

两者都需要有查看包体的权限

要查看任何对象的类型,您可以使用上一个答案中提到的 SYS.USER_OBJECTS 或 ALL_OBJECTS。