如何正确的使用oracle管道函数
如何正确的使用oracle管道函数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
oracle管道函数是一类特殊的函数,oracle管道函数返回值类型必须为集合
如果需要在客户端实时的输出函数执行过程中的一些信息,在oracle9i以后可以使用管道函数(pipeline function)。
关键字PIPELINED表明这是一个oracle管道函数,oracle管道函数的返回值类型必须为集合
--创建一个集合接受返回的值1st.createorreplacetypetype_splitastableofvarchar2(4000);--创建管道函数createorreplacefunctionsplit(p_stringvarchar2,p_sepvarchar2:=',')returntype_splitpipelined--dbms_output输出的信息,需要在服务器执行完整个函数后一次性的返回给客户端--pipelined表明这是一个管道函数,oracle管道函数的返回值类型必须为集合--PIPEROW语句被用来返回该集合的单个元素asv_stringvarchar2(4000):=p_string;idxNumber;beginloop--idx为第一个,所在的位置idx:=instr(v_string,p_sep);ifidx>0then--,前面的数据加入Row/,后面的数据为下个循环使用的字符串piperow(substr(v_string,1,idx-1));v_string:=substr(v_string,idx+length(p_sep));elseexit;endif;endloop;--执行完后需returnreturn;end;test:selecta.cust_po,b.column_valueproqepifrom( selectcust_po,proqepi fromcux_custpo_info_t wherecust_po='PX90806001-4')a,(table(split(a.proqepi,',')))b
看完上述内容,你们掌握如何正确的使用oracle管道函数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。