首先我们要把集合中的所有元素用字符串相连,形成一个长的字符串.如下:这里的ArrayList里面放的是ID
string ids = "";
foreach(string str in list)
{
ids = ids+str+",";
}
//去掉最后面的逗号
ids = ids.SubString(0,ids.Length-1);
然后写存储过程
create or replace procedure procName
(
inIds varchar2
)
is
startposition number(10);
len number(10);
output varchar2(100);
v_id number(38);
begin
loop
select instr(inIds,',',startposition ) into len from dual;
if len!=0 then
select substr(inIds,startposition,len-startposition) into output from dual;
v_id := to_number(output);
--这里写处理代码
else
select substr(inIds,startposition) into output from dual;
v_id := to_number(output);
--这里写处理代码
exit;
end if;
startposition:=len+1;
end loop;
end;
至于C#怎样和Orcal的存储过程 相接合,那是另外一个话题.