oracle 自定义函数,调用时报“程序包或函数无效”

仿着网上自定义一个实现split功能的函数,大神们帮看一下哪里出错了,谢谢

你的这个函数编译大概不能通过吧: 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);
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-05
重新编译一下,然后show err 看看
第2个回答  2014-09-04
可能是函授编译没有成功吧
相似回答