CallableStatement cs = conn.prepareCall("{? = call myProc(?,?)}")
ところで,このCallableStatementクラスの指定には,どうにも妙な記述上の制限があります。
- "{""}"(中カッコ)を必ず付けなければならない
- "call"は必須で,しかも小文字でなければならない
これらはドキュメントにも明記されています。
これを見落してプログラムを書くと,コール時に
NullPointerException
例外が飛んだり,意味の分からないエラーを受け取って頭を抱えることになります(というか,抱えました(^_^;)。仕様であると言ってしまえば確かにその通りなのですが,どちらもあまり合理的な必要性が思いつきません。何でこんな制限が必要なんでしょうか(?_?)