插入时oracle未实现的功能错误

时间:2015-06-02 11:47:16

标签: oracle plsql

我有一个对象类型header_o

create or replace type header_o as object(
col1 number, 
col2 number, 
col3 number);

然后我创建一个表:

create table tab1(
id number, 
header header_o, 
ins_date date);

我有一个为记录分配值的过程。

create or replace package pck1
as 
type t_header is record(
col1 number,
col2 number, 
col3 number);
end;

这里是包体

create or replace package body pck1 is
procedure proc1 is
l_header t_header;
begin
l_header.col1:=1;
l_header.col2:=2;
l_header.col3:=3;
insert into tab1(header) values l_header;
end;
end;

所以我在编译时得到插入语句的错误; ORA-03001:未实现的功能。
问题是当我创建没有列“id”和“ins_date”的表时,插入工作正常: 任何人都可以告诉我错误在哪里,或者不可能这样做? 我的oracle版本是11gR2

1 个答案:

答案 0 :(得分:0)

添加此作为答案,因为它解决了问题:

不要定义其他类型(t_header),而是将l_header声明为header_o,它应该可以正常工作。