日期:2014-05-17  浏览次数:20738 次

oracle..运行不出来..
create or replace procedure separate_string(string1 in varchar2) as
begin
  declare splitchar varchar2(10):=';'; --标识分隔字符
  L number:=1; --第一次查找位置
  S number; --下一次查找字符的开始位置
  str varchar2(30);
   
  begin
   
  if L<=length(string1)then
  S:=instr(string1,splitchar,L);
  dbms_output.put_line(S);
  L:=S+1;
  end if;  
  -- str:=substr(string1,L,S-L);
  -- dbms_output.put_line(str);  
  end;
end;
————————————————————
测试用..
begin 
  separate_string('njo;kjokj;jjm');
end;

只能出一个结果 4 

————————————————————————
但是 上面的过程改成
用while loop 就能出结果..

------解决方案--------------------
探讨
只能出一个结果 4