[转帖]ORA-06530: 引用未初始化的组合_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2546 | 回复: 1   主题: [转帖]ORA-06530: 引用未初始化的组合        上一篇   下一篇 
Ivanniz
注册用户
等级:新兵
经验:72
发帖:1
精华:0
注册:2017-3-17
状态:离线
发送短消息息给Ivanniz 加好友    发送短消息息给Ivanniz 发消息
发表于: IP:您无权察看 2019-9-17 17:13:02 | [全部帖] [楼主帖] 楼主

select * FROM TABLE(fun_test_1) ;

ORA-06530: 引用未初始化的组合

ORA-06512: 在 "PCISS.FUN_TEST_1", line 10

SQL>

---抛错代码

1 CREATE OR REPLACE TYPE table_test2 IS OBJECT(

2 SID INTEGER ,

3 sname VARCHAR2(50),

4 age INT ,

5 sex varchar2(2),

6 addres Varchar2(100)

7 );

9 CREATE OR REPLACE TYPE typ_test2_table IS TABLE OF table_test2 ;

11 CREATE OR REPLACE FUNCTION fun_test_1 RETURN typ_test2_table PIPELINED AS

12 rec_test2 test2%ROWTYPE ;

13 tab_test2 table_test2 ;

14 BEGIN

15 SELECT * INTO rec_test2 FROM test2 t WHERE t.sid=1 ;

16 tab_test2.sid := rec_test2.sid ;

17 tab_test2.sname := rec_test2.sname ;

18 tab_test2.age := rec_test2.age ;

19 tab_test2.sex := rec_test2.sex ;

20 tab_test2.addres := rec_test2.addres ;

21 PIPE ROW(tab_test2);

22 RETURN ;

23 end fun_test_1;

24 /

---抛错原因;

1 CREATE OR REPLACE FUNCTION FUN_TEST_1 RETURN TYP_TEST2_TABLE

2 PIPELINED AS

3 REC_TEST2 TEST2%ROWTYPE;

4 TAB_TEST2 TABLE_TEST2 /* := TABLE_TEST2(NULL, NULL, NULL, NULL, NULL)*/

6 CURSOR CUR IS

7 SELECT E.EMPNO, E.ENAME, E.DEPTNO, 'na', E.JOB FROM EMP E;

8 BEGIN

9 SELECT * INTO REC_TEST2 FROM TEST2 T WHERE T.SID = 1;

10 TAB_TEST2.SID := REC_TEST2.SID;

11 TAB_TEST2.SNAME := REC_TEST2.SNAME;

12 TAB_TEST2.AGE := REC_TEST2.AGE;

13 TAB_TEST2.SEX := REC_TEST2.SEX;

14 TAB_TEST2.ADDRES := REC_TEST2.ADDRES;

15 PIPE ROW(TAB_TEST2);

17 TAB_TEST2.SID := 7788;

18 TAB_TEST2.SNAME := 'admin';

19 TAB_TEST2.AGE := 21;

20 TAB_TEST2.SEX := '男';

21 TAB_TEST2.ADDRES := '上海';

22 PIPE ROW(TAB_TEST2);

24 OPEN CUR;

25 LOOP

26 FETCH CUR

27 INTO TAB_TEST2.SID,

28 TAB_TEST2.SNAME,

29 TAB_TEST2.AGE,

30 TAB_TEST2.SEX,

31 TAB_TEST2.ADDRES;

33 EXIT WHEN CUR%NOTFOUND;

34 PIPE ROW(TAB_TEST2);

35 END LOOP;

36   close cur ;

37 RETURN;

38 END FUN_TEST_1;




赞(0)    操作        顶端 
联动大白
注册用户
等级:列兵
经验:91
发帖:0
精华:0
注册:2015-5-27
状态:离线
发送短消息息给联动大白 加好友    发送短消息息给联动大白 发消息
发表于: IP:您无权察看 2019-10-26 0:30:00 | [全部帖] [楼主帖] 2  楼

为了方便大家阅读,我对文章中错误号来解释一下吧!

Error Id: ORA-06530

Title: Reference to uninitialized composite

Description:

Reference to uninitialized composite

Action:

Initialize the composite with an appropriate constructor or whole-object assignment.

Cause:

An object, LOB, or other composite was referenced as a left hand side without having been initialized.


Error Id: ORA-06512

Title: at stringline string

Description:

at stringline string

Action:

Fix the problem causing the exception or write an exception handler for this condition. Or you may need to contact your application administrator or DBA.

Cause:

Backtrace message as the stack is unwound by unhandled exceptions.


也许你已明白,但对一个人有用也是我存在的理由!^_^ By:持之以恒的大白

-- 来自: 北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论