不知道你的变量 strMonth是什么类型的如果是NUMBER型
execute immediate 'update A set month'||to_char(strMonth, '00')||'='||strMonth;

解决方案 »

  1.   

    str:='update A set month'||strMonth||'=1';
    execute immediate str;
      

  2.   

    strMonth   varchar2(2);        --当前月份     
    --得到当前年月
    strMonth:=to_char(sysdate,'MM');
    --返填生成标志
    update HNDL.T_PM_TIMED_WORK_MARK set month'||strMonth||'='1';不行啊!
      

  3.   

    去掉一个 '
    execute immediate 'update HNDL.T_PM_TIMED_WORK_MARK set month'||strMonth||'=1';
      

  4.   

    谢谢,如果把1变成字符行的呢,例如:aa
    execute immediate 'update HNDL.T_PM_TIMED_WORK_MARK set month'||strMonth||'=aa';
    如何写?不好意思,对这块不熟
      

  5.   

    execute immediate 'update HNDL.T_PM_TIMED_WORK_MARK set month'||strMonth||'=''aa''';
    在这里 ' 要转义为 ''