次のクエリが Derby で失敗する理由を知っている人はいますか?
delete from MyTable
where
((null = null) or (col1 = null)) OR
((102 = null) or (col2 = 102)))
次のエラーが表示されます。
Error: Syntax error: Encountered "null" at line 3, column 3.
SQLState: 42X01
ErrorCode: -1
SQLは、iBatis ORMレイヤー構成に書き込んだSQLに基づいてJavaプログラムで生成されています。準備されたステートメントは次のとおりです。
delete from MyTable
where
((? = null) or (col1 = ?)) OR
((? = null) or (col2 = ?)))
ご覧のとおり、私が言おうとしているのは、パラメーターが null でない場合、列の値をパラメーターに対してテストするということです。