求解 如题:             begin
               ls_tmp_sql := 'select nvl(max(to_number(substr('||ls_fsjkzdm||','||ls_sub_num||'))),1) from '||ls_fsjkmc||'.'||ls_fsjkbm||' where '||ls_fsjkzdm||' like '||'''%'||ls_tmp_pre||'______%'||'''';
                    execute immediate ls_tmp_sql into lh_tmp1;
             end;执行到 execute immediate  出异常求高人指点

解决方案 »

  1.   

    你给的信息太少了。
    用dbms_output把ls_tmp_sql打印出来,手动执行看报什么错
      

  2.   

    你的like写的太复杂了,参考下面的like:
    declare
      vstr_sql varchar2(4000);
    begin
      vstr_sql :='select 1 from dual where dummy like ''%'||&abc||'%''';
      dbms_output.put_line(vstr_sql);
    end;
    执行输入'dsfsd',打印出来的SQL语句如下:
    select 1 from dual where dummy like '%dsfsd%'