ループカット文字列
私の成果ですね.覚えておいてください.
create or replace procedure kmms.p_test_wy(i_caption_accounts in char,
o_return_code out number) is
v_caption_account varchar2(400);
v_index int;
v_count int;
v_c_a varchar2(10);
v_index_last int;
v_num int default 0;
begin
v_caption_account := replace(i_caption_accounts, ',', ',');
if v_caption_account is not null then
if instr(v_caption_account, ',', -1, 1) < length(v_caption_account) then
v_caption_account := v_caption_account || ',';
end if;
v_index := instr(v_caption_account, ',');
v_index_last := 1;
while v_index >0 loop
v_c_a := substr(v_caption_account,
v_index_last,
v_index - v_index_last);
v_index_last := v_index + 1;
v_index := instr(v_caption_account, ',', v_index_last, 1);
--
v_num := v_num +1;
end loop;
end if;
o_return_code := v_num;
EXCEPTION
when others then
o_return_code := -1 * SQLCODE;
rollback;
end;