oracle 查询函数怎么返回查询结果

oracle 查询函数怎么返回查询结果,第1张

你for循环中的语句能执行么?
我觉得如果直接执行语句没有问题,可以不用设置变量ret
直接取循环的内容就好了。
select
wm_concat(flag_name)
into
ret
——》select
wm_concat(flag_name)
as
tmp
dbms_outputput_line(ret);
----->
dbms_outputput_line(code_nametmp);
return
ret;
----->return
code_nametmp;

以前我也想过。不过后来貌似没有成功。Oracle 里 用procedure可以添加输出的值,但是Function的话只能return一个值。。楼上所说的返回记录集。。但是你还要处理返回的记录集,将其拆开成想要的值。这个。还不如。你吧想要的2个返回值。都拼接在一个varchar2()字符集中 。
然后return 这个varchar2() 得到返回值后再用字符函数拆开,这样更简单点吧~

oracle中的Function有两种,一种是系统内置的函数(直接拿来用就行),一种是自定义的(自己写的完成特定功能的)。function可以在DML语句中执行。如select upper('AaBbCcDd') '大写' from dual 其中upper就是系统自带的函数,是把参数中的字符串变成大写字符。
自定义函数的语句格式是:
create or replace function 函数名 return 返回值类型 is [声明部分]
begin 主体语句; return 结果; [exception 异常处理部分;] end;
调用:select 函数名 from dual;
或者像执行procedure一样调用也可以 begin 函数名; end;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13400650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存