今天遇到一问题,sql是正确的,单独拿出来都可以执行,但是在程序里报错-ora-00923:未找到要求的form关键字。
使用Mybatis,sql检查无误,但就是爆ora-00923:未找到要求的form关键字,查看出错日志抛出的sql,拷贝出来单独执行是正确的。参数全部使用#{},下面上图
替换为${}后一切正常。问题出现在oracle关键字AS,AS 后面的列别名在Mybaits中不能使用#{}去参数化,推理,在JDBC中,同样不能使用PrepareStatement去参数化。