包中声明的类型的实例在编译调试后是不透明的
Posted
技术标签:
【中文标题】包中声明的类型的实例在编译调试后是不透明的【英文标题】:Instance of a type declared within package is opaque after compilation for debug 【发布时间】:2015-09-15 12:52:42 【问题描述】:所以我在包中有一个类型声明:
TYPE lt_sometpye IS TABLE OF gt_sometype INDEX BY PLS_INTEGER;
我面临两个问题:
第一个我可以在数据库中创建一个类型,而不是在包中,它看起来像
TYPE lt_sometpye IS TABLE OF gt_sometype;
但它不能被INDEX BY PLS_INTEGER
索引,这是一个要求。
在这两种情况下,gt_sometype
也被编译用于调试。
如何让这种类型的实例在调试期间显示实际数据?
【问题讨论】:
关联数组 (index by
) 是 PL/SQL-only 集合类型。 SQL(至少高达 11g)不支持它。
谢谢,我更新了标签,添加了这是针对 11g2 的
【参考方案1】:
我很困惑你的问题是什么。为什么不是这个?
create or replace type matt_typ AS OBJECT ( a number );
declare
type plsql_type_t is table of matt_typ INDEX BY PLS_INTEGER;
l_tab plsql_type_t;
begin
l_tab (l_tab.count+1) := new matt_typ(5);
end;
抱歉,我知道这不是答案,但 SQL 不适合评论。
【讨论】:
这与我在第二个问题中描述的类似,所以对于 plsql_type_t 我看不到属性值但变得不透明。以上是关于包中声明的类型的实例在编译调试后是不透明的的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin Studio 是不是应该在为调试目标编译时生成 APK?