使用PL / SQL Developer调试PL / SQL集合

时间:2019-06-24 20:49:32

标签: plsqldeveloper

如何在调试窗口(PL / SQL Developer,版本10.0.5.1710)中查看有关集合中数据数组的信息:嵌套层次结构,具有数据类型及其值的元素而没有分别列出其所有元素

DECLARE
    TYPE T_userinfo IS RECORD(
        surname VARCHAR2(8),
        name    VARCHAR2(6),
        sex     VARCHAR2(6)
    );
    TYPE T_group_tab IS TABLE OF T_userinfo INDEX BY VARCHAR2(6);
    TYPE T_class_tab IS TABLE OF T_group_tab INDEX BY PLS_INTEGER;

    team_tab T_class_tab;
BEGIN
    team_tab(0)('group1').surname := 'Bradley';
    team_tab(0)('group1').name    := 'Brian';
    team_tab(0)('group1').sex     := 'male';

    team_tab(1)('group2').surname := 'Johnston';
    team_tab(1)('group2').name    := 'Hilary';
    team_tab(1)('group2').sex     := 'female';
END;

我想在调试窗口中看到类似的内容:

0 => 
    'group1' => 
        'surname' => VARCHAR2 'Bradley'
        'name'    => VARCHAR2 'Brian'
        'sex'     => VARCHAR2 'male'
1 => 
    'group2' => 
        'surname' => VARCHAR2 'Johnston'
        'name'    => VARCHAR2 'Hilary'
        'sex'     => VARCHAR2 'female'

Debugging PL/SQL Collections

1 个答案:

答案 0 :(得分:0)

目前看来不可能。根据{{​​3}}(第25页),PLSQL开发人员可以通过将鼠标悬停在变量上或右键单击并从上下文菜单中选择 View collection variable 来显示标量类型的集合。

还可以将鼠标悬停在记录类型的变量上以显示记录字段的值,甚至将这些值发送到监视窗口中:

team_tab T_class_tab;
team_tab0 T_group_tab;
team_tab0g T_userinfo;
...
team_tab(0)('group1').surname := 'Bradley';
team_tab(0)('group1').name    := 'Brian';
team_tab(0)('group1').sex     := 'male';
team_tab0 := team_tab(0);
team_tab0g := team_tab0('group1'); -- hover on team_tab0g

对于复杂类型,您必须组成自定义函数以所需的格式转储数据。