有关PL/SQL包级记录类型的元数据

Ada*_*ter 6 oracle reflection plsql

假设您有一个RECORD定义了类型的PL/SQL包:

CREATE OR REPLACE PACKAGE TEST_PACKAGE AS

    TYPE PERSON_RECORD_TYPE IS RECORD
    (
        first_name VARCHAR2(1000),
        last_name  VARCHAR2(1000)
    );

END;
Run Code Online (Sandbox Code Playgroud)

有没有办法获得其中包含的字段列表TEST_PACKAGE.PERSON_RECORD_TYPE?例如,有ALL_*这些信息的观点吗?

我对schema -level记录类型不感兴趣,只对package -level记录类型感兴趣.

Flo*_*ita 1

以下是一些有关从包代码中检索信息的类似问题。

从数据字典中查找包全局变量

从 Oracle 获取包方法和参数

我认为这与第一个问题类似。您无法通过视图访问这些字段。有解析源文本解决方案,它很丑陋,或者您可能需要解决此问题。

不管怎样,如果你需要这个,我认为你的架构有问题。