首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

动态执行语句错误

2013-07-01 
动态执行语句异常求解 如题:beginls_tmp_sql : select nvl(max(to_number(substr(||ls_fsjkzdm||,||l

动态执行语句异常
求解 如题:

             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  出异常

求高人指点
[解决办法]
你的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%'

热点排行
Bad Request.