oracle 自定义函数,调用时报“程序包或函数无效”
3个回答
展开全部
你的这个函数编译大概不能通过吧: lxi_split函数已经将返回值定义为TA_lxi表对象,TA_lxi表对象中的元素为TY_lxi类型的,但是在做pipe row给返回表增加元素时使用的又是字符串,这明显与定义不符合,编译会有错误的。
该函数没有编译通过,当然在调用时会提示“程序包或函数不存在”,因为该函数还没有建立。
应该定义一个TY_lxi变量,例如:
v_data TY_lxi := TY_lxi(''); -- 这里括号里面的值要随TY_lxi类型而定
然后,在循环中将字符串赋给该变量的N2成员: v_data.N2 := v_str
接下来是把该变量加入返回表: pipe row(v_data);
该函数没有编译通过,当然在调用时会提示“程序包或函数不存在”,因为该函数还没有建立。
应该定义一个TY_lxi变量,例如:
v_data TY_lxi := TY_lxi(''); -- 这里括号里面的值要随TY_lxi类型而定
然后,在循环中将字符串赋给该变量的N2成员: v_data.N2 := v_str
接下来是把该变量加入返回表: pipe row(v_data);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询