错误动态PLSQL结合可变

问题描述:

我SqlQuery类是这样的:错误动态PLSQL结合可变

sqlQuery := 'SELECT sa.nombre_archivo, sha.registrosok, sha.registroserroneos,'|| 
      ' sha.registrosinconsistentes,'|| 
      ' (sha.registrosok+sha.registroserroneos+sha.registrosinconsistentes),'|| 
      ' sha.fechaprocesamiento'|| 
       ' FROM src_historialarchivo sha, src_archivo sa, src_usuario su'|| 
      ' WHERE sa.idarchivo = sha.idarchivo'|| 
       ' AND sa.nombre_archivo LIKE ''%:1%'''|| 
       ' AND sa.idusuario = su.idusuario'|| 
       ' AND isvalidrange(sha.fechaprocesamiento,:2,:3) = ''T'''|| 
      ' ORDER BY to_date(sha.fechaprocesamiento, ''DD/MM/YYYY'')'; 

但有似乎是绑定变量:1一个问题,如何解决呢? 抛出的错误是java.sql.SQLException: ORA-01006

试试这样说:

sqlQuery := 'SELECT sa.nombre_archivo, sha.registrosok, sha.registroserroneos,'|| 
      ' sha.registrosinconsistentes,'|| 
      ' (sha.registrosok+sha.registroserroneos+sha.registrosinconsistentes),'|| 
      ' sha.fechaprocesamiento'|| 
       ' FROM src_historialarchivo sha, src_archivo sa, src_usuario su'|| 
      ' WHERE sa.idarchivo = sha.idarchivo'|| 
       ' AND sa.nombre_archivo LIKE :1'|| 
       ' AND sa.idusuario = su.idusuario'|| 
       ' AND isvalidrange(sha.fechaprocesamiento,:2,:3) = ''T'''|| 
      ' ORDER BY to_date(sha.fechaprocesamiento, ''DD/MM/YYYY'')'; 

execute immediate sqlQuery using '%abc%'; 
+0

感谢那些工作! ...为什么如果绑定变量位于引号之间,则无法识别绑定变量? – BRabbit27 2012-04-24 14:41:42