SQLサーバでJavaとJBoss、。 、EntityManagerを使用して、ネイティブクエリで文を挿入機能していないMulitple。しかし、SQLでの作業を行います
-
26-09-2019 - |
質問
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文から削除します。
所属していません StackOverflow