如何获取有关用户定义类型的信息?

Oh *_*oon 10 oracle variables plsql user-defined-types

简单来说,PL/SQL通常遵循以下内容:

DECLARE 
     Variable declaration
BEGIN 
     Program Execution 
EXCEPTION 
     Exception handling
END;
Run Code Online (Sandbox Code Playgroud)

我是PL/SQL的新手,我正在查看变量声明部分,我想了解更多信息SALES_PRODUCT_TY_LIST.

是否有一个表我可以查看有关SALES_PRODUCT_TY_LIST的信息,例如从all_tab_cols视图中查看表列信息?

CREATE OR REPLACE PROCEDURE GET_DISCOUNTS
(
  v_have_list SALES_PRODUCT_TY_LIST
)
IS
  QUERY VARCHAR(5000);
...
Run Code Online (Sandbox Code Playgroud)

谢谢.

APC*_*APC 13

Oracle数据库有一个广泛的数据字典(其他一些DBMS产品称之为INFORMATION SCHEMA).你可以在这里找到所有的意见.唉,修改后的ToC结构使得在11g文档中找到一些东西变得更加困难,除非你已经知道你在寻找什么,所以请使用索引.8-)

无论如何,您需要查询的视图是ALL_TYPESALL_TYPE_ATTRS.


and*_*ndr 10

这似乎是用户定义的集合类型.您可以找到有关查询all_types/user_types视图的一些信息:

select * from user_types where type_name = 'SALES_PRODUCT_TY_LIST'
Run Code Online (Sandbox Code Playgroud)

例如,可以通过查询all_source/user_source视图找到类型的定义:

select text from user_source where name = 'SALES_PRODUCT_TY_LIST' order by line
Run Code Online (Sandbox Code Playgroud)


Kev*_*ton 5

试试这个来获取DDL:

SELECT dbms_log.substr(dbms_metadata.get_ddl('TYPE', 'SALES_PRODUCT_TY_LIST'), 32767,1) 
FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

请参阅:http://www.myoracleguide.com/s/gen_schema.htm