ORA-00909: 인수의 개수가 부적합합니다.
이 문제는 Mybatis의 if문을 사용할 때 인수 값을 잘못 지정하는 경우 발생하는 문제입니다.
문제의 원인은 MySql과 Oracle의 쿼리가 다르기 때문입니다.
필자는 Oracle을 사용하면서 검색 기능을 추가할 때 이 오류를 접했습니다.
필자의 해결 방법입니다.
<if test = “searchType == ‘title’.toString()”>and content like CONCAT(‘%’, #{keyword}, ‘%’) 이 문장은 MySql에서는 정상적으로 동작하지만 Oracle에서는 ORA-00909: 인수의 개수가 부적합합니다. 라는 오류를 뱉어냅니다. Oracle에서 사용할 때는 <if test = “searchType == ‘title’.toString()”>and content like CONCAT(‘%’ || #{keyword}, ‘%’) 이런 식으로 변경해줘야 합니다. |