oracle中的PLVtab.rowintab是什么?

时间:2017-04-10 07:49:54

标签: oracle plsql

我需要知道什么是PLVtab.rowintab

因为我的一个程序有这个代码:

IF PLVtab.rowintab (from_status_tbl, other_sup_rec.dcc_status) IS NOT NULL
           THEN

如果你知道这件事,请告诉我。

1 个答案:

答案 0 :(得分:3)

显然,你组织中的某个人一直在阅读Steven Feuerstein关于PL / SQL编程的书籍。

PLVtab包是Steven在20世纪90年代编写和发布的一套帮助程序包之一。 (该套件称为PL / Vision,因此是前缀)。 PLVtabsome utility methods for working with PL/SQL tables,我们现在称之为集合以避免混淆。

然而,看起来rowintab不是原始包中的函数,因此它必须是内部扩展。

史蒂文是PL / SQL的早期传播者,是一种适当的编程语言,他的书值得一​​读。 Find out more about "Advanced Oracle PL/SQL Programming with Packages"

  

“能告诉我代码背后的逻辑或概念”

唉不。它不是标准的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;