报错
13/7 PL/SQL: SQL Statement ignored
13/56 PLS-00201: identifier 'TABLENAME' must be declared不好意思

解决方案 »

  1.   

    楼主,你本意传入的变量动态做表名,但oracle在编译你的存储过程时,对于
    update gd_ckldzb set zzf=(select newjgdm from tablename where oldjgdm=zzf)
    where zzf IN (SELECT OLDJGDM FROM JGDM_TeMP)
    and rownum<500000;
    解析为
    update gd_ckldzb set zzf=(select newjgdm from :bind_value where oldjgdm=zzf)
    where zzf IN (SELECT OLDJGDM FROM JGDM_TeMP)
    and rownum<500000;
    :bind_value此时的值还没有传进来,这条sql就不成立啦....对于sql语句中表名、字段等关键字,用动态sql也不行,楼主想办法改一改吧。