如何调试 Oracle 中 PL/SQL 集合的值?
我正在调试一个程序......返回某些值。该过程似乎使用了 DBMS_SQL.DESCRIBE_COLUMNS2
,到目前为止我还不知道。
DBMS_SQL.DESCRIBE_COLUMNS2 过程的输出变量之一是一个集合,我想检查该值是否返回到该集合中 - 如何观察/监视/检查该值?
我使用 Allround Automations 的 PL/SQL Developer,但也使用 Oracle 的 SQL Developer 作为我可以使用的工具。
尝试像这样迭代集合;
For Val In 1..M_Rec_Tab.Count Loop
Dbms_Output.Put_Line( M_Rec_Tab(Val) );
end loop;
但这会引发PLS-00306:调用“PUT_LINE”时参数数量或类型错误
。
M_Rec_Tab 被声明为Dbms_Sql.Desc_Tab2
类型。
Dbms_Sql.Desc_Tab2
声明为 desc_tab2 是由 binary_integer 索引的 desc_rec2 表
我使用的是 Oracle 10g R2 (10.2.0.1.0)
I'm debugging a procedure which ... returns certain values. The procedure seems to use DBMS_SQL.DESCRIBE_COLUMNS2
which was, till now unknown to me.
One of the out variables of the DBMS_SQL.DESCRIBE_COLUMNS2
procedure is a collection, and I want to examine that value is being returned into that - how can I observe/watch/examine this value ?
I use Allround Automations' PL/SQL Developer, but also have Oracle's SQL Developer as the tools with which I can use.
Tried iterating through the collection like so;
For Val In 1..M_Rec_Tab.Count Loop
Dbms_Output.Put_Line( M_Rec_Tab(Val) );
end loop;
But that throws a PLS-00306: wrong number or types of arguments in call to 'PUT_LINE'
.
M_Rec_Tab is declared as Dbms_Sql.Desc_Tab2
type.
Dbms_Sql.Desc_Tab2
declared as desc_tab2 is table of desc_rec2 index by binary_integer
I'm on Oracle 10g R2 ( 10.2.0.1.0 )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你就快到了...只需再迈一步。 desc_tab2 的定义是:
因此可以循环遍历集合并输出记录中每个字段的值:
You were almost there... Just one more step. The definition of desc_tab2 is:
So you can loop over the collection and output the values of each field in the record: