字符串拼接函数

--传入的参数pk,根据该pk查询一个表里的某个字段(多条结果),将该字段拼接成一个字符串返回
--字段之间用,号隔开。最多拼接10条记录,10条之后的就舍弃不进行拼接
create or replace function file_concat(par_pk in varchar2)  
return varchar2       --记住:参数和返回值里的数据类型都不用定义长度     
is    
result varchar2(4000);    --定义变量
num number :=0;    
begin    
       <<outer_loop>>
       for temp_cursor in (
               select substr(file_name,instr(file_name,'/',-1)+1) file_name
                from ump_xxxxxdetail 
               where pk_xxx=par_pk 
                 and file_name like '%.class' and file_name not like '%$%'
       ) loop     --此处在游标FOR循环中使用查询对应补丁的文件信息    
           result :=result || temp_cursor.file_name || ',';
           num := num+1;
           exit outer_loop when num > 9;         
       end loop;     
       result := rtrim(result,',');  --去掉最后一个空格  
       return result;     
end;   


--drop function my_concat;

你可能感兴趣的:(字符串拼接函数)