我需要知道什么是PLVtab.rowintab
?
因为我的一个程序有这个代码:
IF PLVtab.rowintab (from_status_tbl, other_sup_rec.dcc_status) IS NOT NULL
THEN
如果你知道这件事,请告诉我。
答案 0 :(得分:3)
显然,你组织中的某个人一直在阅读Steven Feuerstein关于PL / SQL编程的书籍。
PLVtab
包是Steven在20世纪90年代编写和发布的一套帮助程序包之一。 (该套件称为PL / Vision,因此是前缀)。 PLVtab
有some utility methods for working with PL/SQL tables,我们现在称之为集合以避免混淆。
然而,看起来rowintab
不是原始包中的函数,因此它必须是内部扩展。
“能告诉我代码背后的逻辑或概念”
唉不。它不是标准的Oracle软件包。你可以做的是查看源代码。在理想的世界中,所有PL / SQL(包括第三方库)都将受源代码管理。因此,请检查您的SVN存储库(或您使用的任何内容)。
但如果你不是生活在理想的世界,你可以在你的数据库中找到它。
这将告诉你拥有架构:
select owner
from all_objects
where object_name = 'PLVTAB'
and object_type = 'PACKAGE';
因为它是一个包,你需要以该用户身份连接才能看到源代码(execute
权限不允许我们查看包体)。如果您无法连接到用户,则需要向友好的DBA寻求帮助。
select text
from user_source
where name = 'PLVTAB'
and type = 'PACKAGE'
order by line;