パスワードを忘れた? アカウント作成
468752 journal

iidaの日記: ORA-00907: missing right parenthesis

日記 by iida
JDBCで

SELECT count(*) FROM CASE_TBL A LEFT OUTER JOIN CERTIFICATE_TBL B ON B.CRT_KEIYAKU_CD=CST_KEIYAKU_CD WHERE(B.CRT_CA_FROM_DT>?OR B.CRT_CA_FROM_DT IS NULL)

というSQLを処理しようとしたら

ORA-00907: 右カッコがありません。

という例外が上がった。
しかし、どう見ても、括弧の釣り合いはとれている。
sqlplusで「?」の箇所を即値「date'2007-07-07'」に替えて実行すると、問題なく処理された(やはり)。
そこでSQLの最後のほうを少し変えて

SELECT count(*) FROM CASE_TBL A LEFT OUTER JOIN CERTIFICATE_TBL B ON B.CRT_KEIYAKU_CD=CST_KEIYAKU_CD WHERE(B.CRT_CA_FROM_DT>?OR(B.CRT_CA_FROM_DT IS NULL))

とすると、正常に処理された。
どうやらカッコでくくるべき箇所が、そうなってないと言いたげのよう。
英語のエラー・メッセージは、

ORA-00907: missing right parenthesis

なのだが、あるいは、rightが《leftの逆》ではなく、《wrongの逆》なのかもしれない。

typodupeerror

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

読み込み中...