合格的Oracle函数名称

时间:2015-12-01 01:33:48

标签: oracle oracle11g oracle10g oracle-sqldeveloper ddl

您好我一直在使用SQL Server。我今天在ORacle 11g,但我有点失落。

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

如何查看此功能的定义?
Inventory_Part_Config_API是架构吗?一套?一个数据库? (我非常确定Oracle没有'数据库',就像SQL Server一样。

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

2 个答案:

答案 0 :(得分:1)

Inventory_Part_Config_API看起来像一个包,Get_Estimated_Material_Cost是该包内的一个过程。 如果您有PL / SQL开发人员,可以使用RMB->查看规范和正文直接转到此包。

如果您只使用SQL plus命令提示符,则可以使用以下命令查看包的源。

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

对于两者,您需要具有查看包体的权限。

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

答案 1 :(得分:0)

如评论中所述,您可以使用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中的用户。