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

12

简单来说,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个回答

16

Oracle数据库具有广泛的数据字典(其他一些DBMS产品称为信息模式)。你可以在这里找到所有的视图。遗憾的是,修订后的ToC结构使得在11g文档中找到某些内容更加困难,除非你已经知道你要查找什么,所以请使用索引

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


12

这似乎是用户定义的集合类型。您可以通过查询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

5

1

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接