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

时间:2011-09-19 07:16:06

标签: oracle variables plsql user-defined-types

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

DECLARE 
     Variable declaration
BEGIN 
     Program Execution 
EXCEPTION 
     Exception handling
END;

我是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);
...

感谢。

4 个答案:

答案 0 :(得分:12)

Oracle数据库有一个广泛的数据字典(其他一些DBMS产品称之为INFORMATION SCHEMA)。您可以找到所有观看次数here。唉,修改后的ToC结构使得在11g文档中找到一些东西变得更加困难,除非你已经知道你在寻找什么,所以use the index instead。 8 - )

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

答案 1 :(得分:10)

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

select * from user_types where type_name = 'SALES_PRODUCT_TY_LIST'

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

select text from user_source where name = 'SALES_PRODUCT_TY_LIST' order by line

答案 2 :(得分:5)

试试这个来获取DDL:

SELECT dbms_log.substr(dbms_metadata.get_ddl('TYPE', 'SALES_PRODUCT_TY_LIST'), 32767,1) 
FROM DUAL;

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

答案 3 :(得分:1)

好的,我找到了一些东西:

select * 
from all_objects
where object_name like 'SALES%';