存储过程中如何拆分一个字符串,使拆分的字符串可作为字段名使用?
在存储过程里:
str1 varchar2(200);
str2 varchar2(50);
str3 varchar2(200);
cursor ctest is select * from tab_test;
begin
for cur_test in ctest
loop
str1 := 'aa,bbb,c,dd,eee'; --给字符串str1赋类似的值,每个用,号分隔的都是上面tab_test中的一个字段名称如何循环取出这些字段并把游标值取出,例如循环取出值赋值给str2
str2 := aa; --取出第一个分隔字符串付给str2,aa实际是表tab_test的一个字段名
str3 := cur_test.str2; ------编译本行时提示“必须声明 str2组件” ,请问这个要如何写?主要就是这个问题,请各位指教,谢谢!
end loop;
end;
------解决方案--------------------这是动态游标,用dbms_sql包实现。
------解决方案--------------------具体怎么实现,请具体写一下,谢谢!