Oracle“ORA-00911: 无效字符”解决方式

在工作中碰到ORA-00911:无效字符的问题,

代码如下:

<select id="querySendMsg" parameterType="map" resultMap="sendMsgResult">
        select t.employee_code,t.phone_no,t.wechat_id,t.employee_name,t.send_msg,t.send_time from itsc_msg_abnormal_record t
        where t.orderNo in
        <foreach item="item" index="index" collection="orderNoList" open="(" separator="," close=")">
        #{item}
        </foreach>;
</select>

错误如下:

### The error occurred while setting parameters
### SQL: select t.* from itsc_msg_abnormal_record t where t.orderNo in ( ? , ? ) ;
### Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符

; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符

发现是在select语句末尾多加了一个分号';'

去掉即可

posted @ 2019-11-06 13:38  MrZhaoyx  阅读(14597)  评论(0编辑  收藏  举报