oracle - 访问子变量pl sql
问题描述
我正在尝试通过父对象访问对象的子变量
declare
i a22;
i1 VARCHAR(10);
begin
i := a22('a22', t_b1(
b22('b22', t_a1(a22('a22_2', t_b1(b22('b22_2', t_a1())))))
)
);
dbms_output.put_line('i.name_a1='||i.name_a1);
dbms_output.put_line('i.t_b1(1).name_b1='||i.o_b(1).name_b1);
dbms_output.put_line('i.o_b(1).o_a(1).name_a1='||i.o_b(1).o_a(1).name_a1);
end;
/
编译时出现错误提示需要声明变量。父对象不知道子对象的变量是合乎逻辑的。但是在成功初始化所有内容时。如何访问子变量?
对象本身:
Create type a1 is object (
name_a1 varchar2(10)
) NOT FINAL NOT INSTANTIABLE;
Create type b1 is object (
name_b1 varchar2(10)
) NOT FINAL NOT INSTANTIABLE;
create type t_a1 is table of a1;
create type t_b1 is table of b1;
Create type b22 UNDER b1 (
o_a t_a1
) INSTANTIABLE;
Create type a22 UNDER a1 (
o_b t_b1
) INSTANTIABLE;
解决方案
推荐阅读
- html - 这个按字母顺序排列的 CSS 选择器是什么意思?
- jquery - 在 textArea 中使用完美的滚动条插件
- c# - 在 ListView 中选择具有特定名称的项目
- python - 如何将折叠添加到 QsciLexerCustom 子类?
- java - 我应该如何在java中更正图像的高度和宽度?
- php - 为 foreach() 提供的参数无效 - laravel 5.6
- javascript - 反应建立在电子 appimage 上不显示静态图像
- arrays - 字符数组在 Cython 中意外累积
- sockets - 尝试使用 GUI 程序创建 gsocket 服务器
- amazon-s3 - 如何在 Play 框架会话中设置对象或如何检索在 aws 中传输的当前大小?