CREATE FUNCTION "USER_LIST"
(str VARCHAR(5000))
RETURNS VARCHAR(5000)
LANGUAGE SQL
SPECIFIC SQL160831131502600
begin
declare v_start int;
declare v_end int;
declare splitchar varchar(5) default ';';
declare A_CURR_NAME varchar(5000) default '';
declare v_str varchar(50);
set v_start=1;
set v_end=locate(splitchar,str);
while v_end>0 do
set v_str=substr(str,v_start,v_end-v_start);
set v_start=v_end+1;
set v_end=locate(splitchar,str,v_start);
set A_CURR_NAME=A_CURR_NAME||(select splitchar||fd_name from sys_org_element where fd_id=v_str);
end while;
set v_str=substr(str,v_start);
set A_CURR_NAME=A_CURR_NAME||(select splitchar||fd_name from sys_org_element where fd_id=v_str);
return substr(A_CURR_NAME,2);
end

posted on 2016-08-31 15:20  llmke  阅读(2195)  评论(0编辑  收藏  举报