请教:ORA-06531:引用未初始化的收集的相关推荐
答案:1 悬赏:40 手机版
解决时间 2021-03-31 16:20
- 提问者网友:沉默的哀伤
- 2021-03-30 19:37
请教:ORA-06531:引用未初始化的收集的相关推荐
最佳答案
- 五星知识达人网友:思契十里
- 2021-03-30 20:05
今天调试存储过程出现“ORA-06531: 引用未初始化的收集”错误,仔细查找了一下metalink,发现是需要初始化,而以前采用的表结构的都没有作过初始化这个步骤,后来看了一下,是因为声明的方式没有按照表的方式声明,而是自己手工写的字段。先寒一个!
----------------
从metalink上面看到,这种类型应该像下面那样使用:
--Create EMPLOYEE_TYPE
CREATE OR REPLACE type employee_type as object(
empid number,
empname varchar2(20),
job varchar2(20));
/
--Create EMPLOYEE_TAB_TYPE
CREATE OR REPLACE type employee_tab_type as table of employee_type ;
/
--Create DEPARTMENT_TYPE -- using employee_tab_type
CREATE OR REPLACE type department_type as object(
deptid number,
deptname varchar2(20),
deptlocation varchar2(20),
emp_tab employee_tab_type);
/
DECLARE
my_emp employee_tab_type:=employee_tab_type();
my_dept department_type;
Begin
my_emp.extend; -- 必须指定,否则会报指针越界
my_emp(1):=employee_type(2,'Savitha','mgr'); -- 如果是record也可以直接赋值employee_type
my_dept :=department_type(1,'RESEARCH','India',my_emp);
END;
/
----------------
从metalink上面看到,这种类型应该像下面那样使用:
--Create EMPLOYEE_TYPE
CREATE OR REPLACE type employee_type as object(
empid number,
empname varchar2(20),
job varchar2(20));
/
--Create EMPLOYEE_TAB_TYPE
CREATE OR REPLACE type employee_tab_type as table of employee_type ;
/
--Create DEPARTMENT_TYPE -- using employee_tab_type
CREATE OR REPLACE type department_type as object(
deptid number,
deptname varchar2(20),
deptlocation varchar2(20),
emp_tab employee_tab_type);
/
DECLARE
my_emp employee_tab_type:=employee_tab_type();
my_dept department_type;
Begin
my_emp.extend; -- 必须指定,否则会报指针越界
my_emp(1):=employee_type(2,'Savitha','mgr'); -- 如果是record也可以直接赋值employee_type
my_dept :=department_type(1,'RESEARCH','India',my_emp);
END;
/
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯