簡體   English   中英

合格的Oracle功能名稱

[英]Qualified Oracle Function Name

嗨,我已經使用SQL Server已有一段時間了。 我今天使用的是ORacle 11g,但我有些失落。

我看到一個名稱為“ Inventory_Part_Config_API.Get_Estimated_Material_Cost(合同,part_no,'*')”的對象。

如何查看此函數的定義?
Inventory_Part_Config_API是架構嗎? 一袋? 數據庫? (我很確定Oracle不會像SQL Server一樣具有“數據庫”。

如果Inventory_Part_Config_API是程序包,如何查看所有程序包? 數據庫也一樣。 我知道如何查看所有架構,但我沒有看到。

Inventory_Part_Config_API看起來像一個軟件包,而Get_Estimated_Material_Cost是該軟件包中的一個過程。 如果您有PL / SQL開發人員,則可以使用RMB-> View Spec and Body直接轉到此軟件包。

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

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

對於這兩者,您都需要具有查看包主體的權限。

要查看任何對象的類型,可以使用上一個答案中提到的SYS.USER_OBJECTS或ALL_OBJECTS。

如評論中所述,您可以使用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中的用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM