SQLサーバでJavaとJBoss、。 、EntityManagerを使用して、ネイティブクエリで文を挿入機能していないMulitple。しかし、SQLでの作業を行います

StackOverflow https://stackoverflow.com/questions/3812529

質問

String myQuery1  = "insert into mytable(mycol) values(myval) \ngo";
String myQuery2  = "insert into mytable(mycol) values(myval2) \ngo";
String myQuery = myQuery1 + myQuery2;

Query query = myEntityManager.createNativeQuery(myQuery);
List<?> insertResultList = queryInsertDefaults.getResultList();
私はコピーして、SQL Serverの管理スタジオに貼り付けると、

は、私が使用する文字列を見ることができますデバッガeclpiseを使用して、それが正常に動作します - 複数行の文/行く好きではないエンティティマネージャとは何かがある私は推測していますので、 ...?

何かアドバイスは感謝して(ええ、私はStringBuilderのなどなどについて知っている)受け取った、と私が手にエラーがあります:

 SQL Error: 102, SQLState: S0001
 Incorrect syntax near 'go'.

編集 挿入アウトターンはないのEntityManagerとクエリークラスによってサポートされています。私はプリペアドステートメントを使用するか、オブジェクトを永続化する必要があります。

役に立ちましたか?

解決

MSSQLのドキュメントから:「GOはのTransact-SQLステートメントではありません。それはsqlcmdのとOSQLユーティリティとSQL Server Management Studioのコードエディタによって認識されたコマンドである」

データベースへの「直接」送信されたときに、それはSSMSで動作しますが、ではない理由です。ただ、完全にあなたのINSERT文から削除します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top