不显示删除回复显示所有回复显示星级回复显示得分回复 存储过程中如何拆分一个字符串,使拆分的字符串可作为字段名使用?
在存储过程里:
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;
------最佳解决方案--------------------
DECLARE
str1 varchar2(200);
v_aa TAB_TEST.aa%TYPE;
v_bbb TAB_TEST.bbb%TYPE;
v_c TAB_TEST.c%TYPE;
v_dd TAB_TEST.dd%TYPE;
v_eee TAB_TEST.eee%TYPE;
o_cursor Sys_Refcursor;
BEGIN
str1 := 'aa,bbb,c,dd,eee';
OPEN o_cursor FOR
'SELECT '