0
我想用另一种类型(Oracle)中的表类型填充空值。 我会写代码,它会更容易解释这个问题。如何用空值填充表类型中的表类型
DECLARE
TYPE type_1 is record (col_1 varchar2(255),
col_2 varchar2(30),
col_3 varchar2(3)
);
TYPE table_1_tbl is table of type_1;
TYPE table_2 is record (col_1 varchar2(255),
col_2 varchar2(30),
t1 table_1_tbl
);
TYPE table_2_tbl is table of table_2;
TYPE type_3 is record (col_1 varchar2(30),
col_2 VARCHAR2(19),
t2 table_2_tbl
);
TYPE table_3_tbl is table of type_3;
Obj table_3_tbl;
BEGIN
select
'value_1',
'value_2',
null
BULK COLLECT INTO
Obj
FROM dual;
END;
/
此代码的结果如下:
Error report:
ORA-06550: line 32, column 16:
PLS-00382: expression is of wrong type
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
正如你可以看到,甲骨文不会让我用NULL值来填充我变量“目标文件”的“T3”栏。你们知道我该怎么做?
注:我不被允许在模式中编译这些类型。
感谢您的回答,但我会从查询中获取值,我只是用双表为例。不过谢谢! – user2711220