ORA-00909: 매개변수의 개수가 잘못되었음을 기억하세요

오늘 개발 중에 SQL에 쿼리 조건을 추가하다가 ORA-00909: 매개변수 개수가 잘못되어 오류가 보고되었다는 메시지가 나오더군요.그래서 SQL을 확인해 보니 매개변수에는 문제가 없는 것으로 나타났습니다. 그러다가 제가 직접 정보를 확인해 본 결과, SQL 문에 철자 오류가 있으면 이 오류도 보고된다는 사실을 발견했습니다.

예전에 mysql을 사용하여 개발을 했기 때문에 나중에 문득 SQL 철자 문제라는 것을 깨달았습니다. 퍼지 내레이션을 이어붙이기 위해 CONCAT 함수를 사용할 때 항상 CONCAT('%',?,'%') 직접 철자가 있었습니다. 이런식인데 오라클에서는 지원하지 않는걸로 기억하는데 이렇게 철자를 쓰려면 CONCAT('%',?,'%')를 CONCAT(CONCAT('%',?),'%'로 다시 작성해야 합니다. ), Oracle의 CONCAT 함수는 한 번에 두 개의 문자열만 처리할 수 있기 때문에 스플라이싱의 경우 두 개 이상이면 오류가 보고됩니다. 내 오류 보고서를 기록하고 이 문제가 발생한 친구에게도 도움이 되기를 바랍니다.

추천

출처blog.csdn.net/qq_40647372/article/details/135966355