oracle动态执行update语句
请大家帮忙看下哪里写错了,执行报错:无效字符
declare
v_tablename varchar2(500):='HRM_ChangeInspect,HRM_ChangeInspReg,';
v_str varchar2(500);
v_updateinfo varchar2(500);
begin
while instr(v_tablename,',')>0 loop
v_str:=substr(v_tablename,1,instr(v_tablename,',')-1);
v_updateinfo:=v_updateinfo||'update '||v_str||' set WFTopic=replace(WFTopic,substr(WFTopic,2,1),''*'');';
--dbms_output.put_line(v_updateinfo);
execute immediate v_updateinfo;
v_tablename:=substr(v_tablename,instr(v_tablename,',')+1,length(v_tablename));
end loop;
end;
dbms_output.put_line(v_updateinfo);
出来的语句可以正常执行
------解决方案--------------------SQL code
v_updateinfo:=v_updateinfo||'update '||v_str||' set WFTopic=replace(WFTopic,substr(WFTopic,2,1),''*'');'
------解决方案--------------------
新手,注意结贴!建议你下我上传的调试程序,一下就出来,不用那么纠结看什么语法错误!