当前位置: 代码迷 >> Java Web开发 >> . 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 收藏 关于存储过程动态截取字符串有关问题【急】
  详细解决方案

. 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 收藏 关于存储过程动态截取字符串有关问题【急】

热度:547   发布时间:2013-02-25 21:05:26.0
. 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 收藏 关于存储过程动态截取字符串问题【急急】
数据库传过去是这样的格式
101518-销售合同评审流程 [ HTP-20130114-001 ] |101470-销售合同评审流程 [ HTP-20130109-001 ]
我只取前面的ID
101518 这样的
客户有可能传三个这样的 有可能1个 有可能更多

请问存储过程如何截取? 
存储 数据库
101470-销售合同评审流程 [ HTP-20130109-001 ]');
oracle

create or replace procedure strcut(str varchar2)
as
type c_array  is table of varchar2(10) index by binary_integer;
p number default 0;
idx number default 0;
strc varchar2(200);
ca c_array;
begin
strc:=str;
loop   
p:=instr(strc,'-',1);
exit when p=0;
ca(idx):=substr(strc,1,p-1);
print(ca(idx));
idx:=idx+1;

p:=instr(strc,'',1);
exit when p=0;
strc:=substr(strc,p+1,length(strc));
end loop;
end strcut;    
/


call strcut('101518-销售合同评审流程 [ HTP-20130114-001 ] 
  相关解决方案