我是PL/SQL的初学者,所以我不知道这个问题是否合理。我试图在Oracle 11g中的包(不是在模式下)下找到存储过程的object_id。我试着查询我认为应包含SP的object_Id的以下系统表/视图。存储过程中的object_id存储在Oracle中的哪个位置?
- ALL_PROCEDURES
- User_obects
的ALL_PROCEDURES观点确实包含我找SP的名称,但它仅包含包的对象ID。我想包下找到的存储过程的object_id的原因是是:
一些PL/SQL程序员我谈的来告诉我,包下的SPS /函数不被视为一个对象。我想明白为什么。
我想知道,在同一个软件包下有多少其他SP是否会被引用。我希望public_dependency视图包含这个映射,除非有人告诉我这是错误的观点。
如果SP /函数未被标识为包下的对象,那么如何获取引用特定SP的SP列表?
我已经在Stackoverflow中发布了另一个问题,这导致我到链接How do you programatically identify a stored procedure's dependencies?。但是在这篇文章中提到的脚本并没有帮助我,因为user_objects没有包中的存储过程的任何条目。它只在Schema下有SP。
是啊,我的想法是多少第一点相同.. – Sathya
感谢ZZA。我一直发现,在Oracle中,简单的事情很难实现(或没有实现)。 – pradeeptp