在oracle中如何调用包中声明的自定义函数
时间:2011-12-14
来源:互联网
SQL code
这个自定义函数放在packages内了,没放在fuctions内,在pl/sql developer中如何调用
试了半天报语法错误
SQL code
刚接触oralce不好意思
FUNCTION fn_split(pi_str In Varchar2, pi_separator In Varchar2) RETURN t_Array IS idx Number; currentindex Number := 1; strs t_Array; v_str varchar2(4000) := pi_str; BEGIN IF pi_str IS NOT NULL AND pi_separator IS NOT NULL THEN --存在分隔符 END IF; IF v_str IS NOT NULL THEN strs(currentindex) := v_str; END IF; Return strs; END fn_split;
这个自定义函数放在packages内了,没放在fuctions内,在pl/sql developer中如何调用
试了半天报语法错误
SQL code
select commonpackages.fn_split('sdsd,sdsd,sdsd,sdsaasdf',',') from dual; Select * from emp where ename=commonpackages.fn_split('sdsd,sdsd,sdsd,sdsaasdf',',');
刚接触oralce不好意思
作者: cainiao66 发布时间: 2011-12-14
包名叫commonpackages
作者: cainiao66 发布时间: 2011-12-14
SQL code
试了半天,终于让我试出来了
declare ret commonpackages.t_Array; begin ret:=Commonpackages.fn_split('7902,sdf,sdfa23,sdf',','); for i in 1 .. ret.count loop dbms_output.put_line(ret(i)); end loop; end;
试了半天,终于让我试出来了
作者: cainiao66 发布时间: 2011-12-14
普通的函数 select commonpackages.fn_split('sdsd,sdsd,sdsd,sdsaasdf',',') from dual;这样应该是可以调用的
只是你的返回是列表 就没有试过了。 报什么错啊?
只是你的返回是列表 就没有试过了。 报什么错啊?
作者: huangdh12 发布时间: 2011-12-14
应该是 t_Array 并不是oracle能够辨别的类型。
作者: huangdh12 发布时间: 2011-12-14
引用 4 楼 huangdh12 的回复:
应该是 t_Array 并不是oracle能够辨别的类型。
应该是 t_Array 并不是oracle能够辨别的类型。
嗯,主要是这个原因,像二楼那样就没问题了
作者: cainiao66 发布时间: 2011-12-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28