ORA-00909: パラメータの数が無効であることを一度思い出してください。

本日、開発中にSQLにクエリ条件を追加していたところ、「ORA-00909:パラメータの数が無効です」というエラーが発生し、SQLを確認したところ、パラメータに問題はなかったことがわかりました。次に、自分で情報を確認したところ、SQL ステートメントにスペル ミスがある場合、このエラーも報告されることがわかりました。

以前は mysql を使用して開発していたので、後から突然、これは SQL のスペルの問題であることに気づきました。CONCAT 関数を使用してあいまいなナレーションを接続する場合、常に CONCAT('%',?,'%') が直接スペルされていました。このように書きますが、Oracle ではサポートされていないことを思い出しました。このように綴るには、CONCAT('%',?,'%') を CONCAT(CONCAT('%',?),'%' に書き換える必要があります。 )、Oracle の CONCAT 関数は一度に 2 つの文字列しか処理できないため、スプライシングの場合、2 つ以上の文字列がある場合、エラーが報告されます。私のエラーレポートを記録し、同じ問題に遭遇した友人の役に立てば幸いです。

おすすめ

転載: blog.csdn.net/qq_40647372/article/details/135966355