を使用しており、クエリにNOLOCK
を含むselectステートメントを実行しようとしています。HSQLDBを使用してNOLOCKを使用するステートメントでSQL文法が正しくない
ステートメントが実行されると、BadSqlGrammarException
がスローされます。
コマンドがSQL Serverで完全に正常に実行されるため、この問題を回避する方法はありますか?
を使用しており、クエリにNOLOCK
を含むselectステートメントを実行しようとしています。HSQLDBを使用してNOLOCKを使用するステートメントでSQL文法が正しくない
ステートメントが実行されると、BadSqlGrammarException
がスローされます。
コマンドがSQL Serverで完全に正常に実行されるため、この問題を回避する方法はありますか?
a_horse_with_no_nameは彼のコメントで正しいです:
HSQLDBはNOLOCKをサポートしていません。あなたの文で、あなたは本物(SQL Server)のに対してテストを実行する必要があることが必要な場合
これを明確にするため、NOLOCK
が動作するようにどのようにデータベースへのヒントを指定してSQL Serverの特定のキーワードです。
クエリが共有読み取りロックを発行しないようにするために使用できるSQL Serverのテーブルヒントです。これは、独自のタグnolockをスタックオーバーフローさえしています。クエリが他のクエリをブロックしないようにするために頻繁に使用されますが、読み込みやその他の潜在的なデータ問題の影響を受けやすくなります。
したがって、このキーワードを含むSQLクエリはHyperSQLには有効ではありません。あなたは何ができるか
は次のとおりです。(上記のコメントで指摘したように)
NOLOCK
を使用しないようにする必要があります。これがあなたのアプリケーションにどのように影響するかは、それ以上の知識がなければ言うことができません。サイドノートとして 、HyperSQL fully supports the SQL specification:
によって定義されたSQLの方言をサポートしていますHyperSQL 2.xのは、SQL標準92、1999、2003、2008年と2011年
HSQLDBはNOLOCKをサポートしていません。あなたの質問にそれが必要な場合は、実際のものに対してテストを実行する必要があります(SQL Server) –