给定一个字符串‘abc,efg,hh’,把‘abc’,‘efg’,‘hh’以三行数据存入表中。
1、先新建一个表格:
create table test_1(
str_1 varchar2(20)
);
2、以substr(),instr(),两个函数进行操作。
declare
str varchar2(20) := 'abc,efg,hh';
temp varchar2(20) := '1';
begin
while temp is not null
loop
select substr(str,1,instr(str,',',1)-1) into temp from dual;
if instr(str,',',1) != 0
then
select substr(str,instr(str,',',1)+1) into str from dual;
insert into test_1 values(temp);
else
insert into test_1 values(str);
end if;
dbms_output.put_line('str:'||str||'----'||'temp:'||temp);
end loop;
commit;
end;
3、结果:
先查询一下新表:
select * from test_1;
代码运行之后: