CREATE OR REPLACE FUNCTION FUN_Divstr_forInsert(
PI_str IN VARCHAR2) --输入字符串
RETURN t_acct_item_type
IS
table1 t_acct_item_type:=t_acct_item_type();
v_intPos INTEGER :=0; --字符串截取表示符
v_str VARCHAR2(1000):= PI_str; --输入字符赋给变量
v_strSub VARCHAR2(40); --截取的字符串
BEGIN
v_intPos:=instr(v_str,','); --取得第一个表示符在字符串中的位置。
WHILE v_intpos>0 LOOP --判断为有效位置进行循环。
v_strsub:=substr(v_str,1,v_intPos-1); --截取第一个字符串
table1.extend();
table1(table1.count()):=v_strsub;
v_str:=substr(v_str,v_intpos +1); --截取剩余的字符串
v_intPos:=instr(v_str,','); --取得下一个表示符在字符串中的位置。
IF v_intpos = 0 AND v_str is not null THEN --如果是最后一个字符串并不为空就插入
table1.extend();
table1(table1.count()):=v_str;
END IF;
END LOOP;
RETURN(table1);
END FUN_Divstr_forInsert;
PI_str IN VARCHAR2) --输入字符串
RETURN t_acct_item_type
IS
table1 t_acct_item_type:=t_acct_item_type();
v_intPos INTEGER :=0; --字符串截取表示符
v_str VARCHAR2(1000):= PI_str; --输入字符赋给变量
v_strSub VARCHAR2(40); --截取的字符串
BEGIN
v_intPos:=instr(v_str,','); --取得第一个表示符在字符串中的位置。
WHILE v_intpos>0 LOOP --判断为有效位置进行循环。
v_strsub:=substr(v_str,1,v_intPos-1); --截取第一个字符串
table1.extend();
table1(table1.count()):=v_strsub;
v_str:=substr(v_str,v_intpos +1); --截取剩余的字符串
v_intPos:=instr(v_str,','); --取得下一个表示符在字符串中的位置。
IF v_intpos = 0 AND v_str is not null THEN --如果是最后一个字符串并不为空就插入
table1.extend();
table1(table1.count()):=v_str;
END IF;
END LOOP;
RETURN(table1);
END FUN_Divstr_forInsert;