错误动态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%';
感谢那些工作! ...为什么如果绑定变量位于引号之间,则无法识别绑定变量? – BRabbit27 2012-04-24 14:41:42