FUNCTION fn_split(pi_str In Varchar2, pi_separator In Varchar2)
RETURN t_Array IS
idx Number;
currentindex Number := 1;
strs t_Array;
v_str varchar2(4000) := pi_str;
BEGIN
IF pi_str IS NOT NULL AND pi_separator IS NOT NULL THEN
--存在分隔符
END IF;
IF v_str IS NOT NULL THEN
strs(currentindex) := v_str;
END IF;
Return strs;
END fn_split;
这个自定义函数放在packages内了,没放在fuctions内,在pl/sql developer中如何调用
试了半天报语法错误
select commonpackages.fn_split('sdsd,sdsd,sdsd,sdsaasdf',',') from dual;
Select * from emp where ename=commonpackages.fn_split('sdsd,sdsd,sdsd,sdsaasdf',',');
刚接触oralce不好意思
RETURN t_Array IS
idx Number;
currentindex Number := 1;
strs t_Array;
v_str varchar2(4000) := pi_str;
BEGIN
IF pi_str IS NOT NULL AND pi_separator IS NOT NULL THEN
--存在分隔符
END IF;
IF v_str IS NOT NULL THEN
strs(currentindex) := v_str;
END IF;
Return strs;
END fn_split;
这个自定义函数放在packages内了,没放在fuctions内,在pl/sql developer中如何调用
试了半天报语法错误
select commonpackages.fn_split('sdsd,sdsd,sdsd,sdsaasdf',',') from dual;
Select * from emp where ename=commonpackages.fn_split('sdsd,sdsd,sdsd,sdsaasdf',',');
刚接触oralce不好意思
ret commonpackages.t_Array;begin
ret:=Commonpackages.fn_split('7902,sdf,sdfa23,sdf',',');for i in 1 .. ret.count loop
dbms_output.put_line(ret(i));
end loop;
end;
试了半天,终于让我试出来了
只是你的返回是列表 就没有试过了。 报什么错啊?