create or replace package pk_Base is
type t_split_tbl is table of varchar2(32767);
function split(p_list varchar2,p_del varchar2 := ',')
return t_split_tbl pipelined;
end pk_Base;
后面报了一个错误PLS-00103:出现符号""在需要下列之一时:return
我不知道这个错误是什么意思,以前没接触过,希望大家有能力的帮我解决一下,谢谢
type t_split_tbl is table of varchar2(32767);
function split(p_list varchar2,p_del varchar2 := ',')
return t_split_tbl pipelined;
end pk_Base;
后面报了一个错误PLS-00103:出现符号""在需要下列之一时:return
我不知道这个错误是什么意思,以前没接触过,希望大家有能力的帮我解决一下,谢谢
type t_split_tbl is table of varchar2(32767);
function split(p_list varchar2, p_del varchar2) return number;
end pk_Base;
SQL> create or replace package pk_Base is
2 type t_split_tbl is table of varchar2(32767);
3 function split(p_list varchar2, p_del varchar2:=',') return number;
4 end pk_Base;
5 /Package createdSQL>
function split(p_list varchar2,p_del varchar2 := ',')
return t_split_tbl pipelined;
is
l_idx pls_integer;
l_list varchar2(32767) := p_list;
l_value varchar2(32767);
begin
loop
l_idx := instr(l_list,p_del);
if l_idx > 0 then
pipe row(substr(l_list,1,l_idx-1));
l_list := substr(l_list,l_idx+length(p_del));
else
pipe row(l_list);
exit;
end if;
end loop;
return;
end;
end pk_Base;这个也报同样的错误,这个改了也不行,还有什么办法么?
function split(p_list varchar2,p_del varchar2 := ',')
return number;
is
l_idx pls_integer;
l_list varchar2(32767) := p_list;
l_value varchar2(32767);
begin
loop
l_idx := instr(l_list,p_del);
if l_idx > 0 then
pipe row(substr(l_list,1,l_idx-1));
l_list := substr(l_list,l_idx+length(p_del));
else
pipe row(l_list);
exit;
end if;
end loop;
return 1;
end;
end pk_Base;
--函数返回数组 你的目的?? 1* create or replace type t_split_tbl is table of varchar2(4000);
scott@ORCL> /类型已创建。scott@ORCL> ed
已写入 file afiedt.buf 1 create or replace package pk_Base is
2 function split(p_list varchar2,p_del varchar2 default ',') return t_split_tbl;
3* end pk_Base;
scott@ORCL> /程序包已创建。