我想遍历所有记录并将它们连接成一个字符串。
代码如下:
nav()
答案 0 :(得分:0)
取决于结果的长度,如果结果少于4000个字符,则更简单的选择是使用LISTAGG
,例如
select listagg(m.trackid, ', ') within group (order by null) result
from multishipdtl m
where m.orderid = p_orderid;
此外,为什么它是程序? 功能似乎是一个更好的选择(您可以在SQL中使用它;带有OUT
参数的过程需要一个(n个匿名)PL / SQL块,声明一个接受该变量的变量。结果)。例如:
create or replace function f_get_tracking_nos (p_orderid in number)
return varchar2
is
retval varchar2(4000);
begin
select listagg(m.trackid, ', ') within group (order by null)
into retval
from multishipdtl m
where m.orderid = p_orderid;
return retval;
end;