如何将逗号分隔的字符串拆分为存储过程中的字符串并将它们插入表字段?
使用Firebird 2.5
解决方法
这里有一个示例如何拆分字符串并将子字符串写入表中:
create procedure SPLIT_STRING ( AINPUT varchar(8192)) as declare variable LASTPOS integer; declare variable NEXTPOS integer; declare variable TEMPSTR varchar(8192); begin AINPUT = :AINPUT || ','; LASTPOS = 1; NEXTPOS = position(',',:AINPUT,LASTPOS); while (:NEXTPOS > 1) do begin TEMPSTR = substring(:AINPUT from :LASTPOS for :NEXTPOS - :LASTPOS); insert into new_table("VALUE") values(:TEMPSTR); LASTPOS = :NEXTPOS + 1; NEXTPOS = position(',LASTPOS); end suspend; end