declare
v_sql varchar2(1000);
begin
for tabname in(select a from A) loop
v_sql :='update '||tabname.a||' set a=trim(a)';
execute immediate v_sql;
end loop;
end;
/

解决方案 »

  1.   

    中间有空格的不行,用regex_replace吧
      

  2.   

    中间有空格的不行,用regex_replace吧不行,第六列a:标识符无效
      

  3.   

    中间有空格的不行,用regex_replace吧不行,第六列a:标识符无效用replace 写一个SQL语句的拼接呗~~~麻烦了~~~
      

  4.   


    declare
    v_sql varchar2(1000);
    begin
    for tabname in(select a from A) loop
    v_sql :='update '||tabname||' set a=replace(a,' ')';
    execute immediate v_sql;
    end loop;
    end;
      

  5.   


    declare
    v_sql varchar2(1000);
    begin
    for tabname in(select a from A) loop
    v_sql :='update '||tabname||' set a=regexp_replace(a,''\s'','''')';
    execute immediate v_sql;
    end loop;
    end;
      

  6.   

    忘写字段名了,改为:declare
    v_sql varchar2(1000);
    begin
    for tabname in(select a from A) loop
    v_sql :='update '||tabname.a||' set a=regexp_replace(a,''\s'','''')';
    execute immediate v_sql;
    end loop;
    end;