使用Oracle字典视图发现PL / SQL包级别类型
我可以使用字典视图发现在Oracle PL / SQL包中声明的类型吗?即当我宣布这个:
CREATE OR REPLACE PACKAGE my_types AS TYPE t_cursor_type IS REF CURSOR; TYPE t_table_type IS TABLE OF some_table%rowtype; END my_types; 我想正式发现t_cursor_type和t_table_type.它们似乎没有被列入 SYS.ALL_TYPES 通过“正式”,我的意思是我想要一些“正式的元数据”,即查询USER_SOURCE不会做到这一点. 仅从11.1开始.从手册: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17125/adfns_plscope.htm#ADFNS02204 http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams189.htm#REFRN10271
DEMO CREATE OR REPLACE PACKAGE my_types AS TYPE t_cursor_type IS REF CURSOR; TYPE t_table_type IS TABLE OF employees%rowtype; type t_associative is table number index by varchar2(20); END my_types; alter package my_types compile plscope_settings='IDENTIFIERS:ALL' reuse settings; select * from user_identifiers ui where ui.object_type = 'PACKAGE' and ui.usage = 'DECLARATION' and ui.usage_context_id = '1'; NAME SIGNATURE TYPE OBJECT_NAME OBJECT_TYPE USAGE USAGE_ID LINE COL USAGE_CONTEXT_ID ------------------------------ -------------------------------- ------------------ ------------------------------ ------------- ----------- ---------- ---------- ---------- ---------------- T_ASSOCIATIVE 9A18FE6BCB72110F39CED9E08B932ECB ASSOCIATIVE ARRAY MY_TYPES PACKAGE DECLARATION 4 4 8 1 T_TABLE_TYPE 77067FE9732B492C166D38221DC3DF37 NESTED TABLE MY_TYPES PACKAGE DECLARATION 3 3 8 1 T_CURSOR_TYPE EDEC9260784B7721BC3F3DAB293F23DD REFCURSOR MY_TYPES PACKAGE DECLARATION 2 2 8 1 zep@dev> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |