私のJavaコードでは、挿入操作を実行しようとしていますが、何らかの理由で私はSQLSyntaxErrorException
を取得しています。私は試してみましたが、その背後に理由はありません。以下は私のコードです。SQLSyntaxErrorException - ORA-02287:シーケンス番号はここでは許可されていません
Query nativeQuery = em.createNativeQuery(
"insert into TABLE_DIMENSION (DIMESNION_ID, DIMENSION_CODE, TABLE_CODE, TABLE_IND, CREATE_TIME, "
+ "CREATE_PLACE, CHG_DT, CHG_WARDANT) "
+ " (select TABLE_DIMENSION_SEQ.nextval, d.name,:dimensionCode, 0, :time, :place, :date, :wardant from table_master d where d.name in (:table_dimension_ids)) ");
nativeQuery.setParameter("date", new Date());
nativeQuery.setParameter("table_dimension_ids", tableDimensionList);
nativeQuery.setParameter("dimensionCode", dimensionCode);
nativeQuery.setParameter("wardant", wardant);
number = nativeQuery.executeUpdate();
ご案内してください。あなたが使用する必要がありますので、あなたは、他の人のようなパラメータに:place
と:time
を置くために不足している
SQLは、 'select'の回りの括弧の括弧を離れてOKです。 'TABLE_DIMENSION'は本当に' DIMESNION_ID'という列を持っていますか? (無効な列名では、別のエラーメッセージが表示されますが) –
* "参考にしてください" *ここにいくつかのガイダンスがあります:Google it:['ORA-02287:シーケンス番号は許可されていません '](https://www.google .com/search?q = ORA-02287%3A +シーケンス+数字+ not + allowed +ここ)。あなたは良い助けを見つけるでしょう。 – Andreas
@アンドレアス:私は何年も続いています。関連する質問は私のものに似ていませんでした。私はどこかで自分のコードが正しいと感じていましたが、仕事をしていませんでした。 – sTg