2

免責事項: これは私が犯したばかげた間違いでした。おそらく他の誰かが同じことをして、それが役に立つと思うかもしれないので、それを閉じませんでした.

2 つのテーブル:

COR_RADICADO_OFICIO:
- num_radicado (pk)
- ano_radicado (pk)

(私は知っています、複合pksは悪ですが、それはレガシーデータベースであり、私の設計ではありません;))

COR_RESPUESTA_OFICIO:
- num_radicado (text)(fk)
- ano_radicado (number)(fk)
- requiere_respuesta (number)

休止状態で:

createSQLQuery("select * from COR_RADICADO_OFICIO where REQUIERE_RESPUESTA = 399 " +
"and concat(concat(num_radicado , '_'),  ano_radicado) not  in "+ 
"(select concat(concat(num_radicado , '_), ano_radicado) from COR_RESPUESTA_OFICIO);" );

このクエリをオラクルで直接実行すると、正常に動作しますが、休止状態がスローされます

java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

「concat」関数を「||」に置き換えてみました 同じエラーが発生しました。

それを修正する方法はありますか?(ビューを作成する以外に)。

4

1 に答える 1

7

セミコロンを削除してみてください。あなたが得ているエラーは、無効なSQLではなく、まったく異なる無効な文字を示しています。

于 2013-01-09T19:37:04.743 に答える