問題タブ [hsqldb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 1 つの SQL クエリを使用して個別に並べ替えられた 1 つのテーブルから 2 つの結果セットを結合する方法は?
これは、実際のプロジェクトで解決しなければならない単純化されたタスクです。このプロジェクトでは、データは HSQLDB に格納されます。JDBC を使用してデータにアクセスします。
私は1つのテーブルを持っています:
次のテーブルを取得するには、クエリを作成する必要があります。
最終的なテーブルは、フラグ = 1 の行が取得されて昇順で並べ替えられ、フラグ = 0 の行が取得されて降順で並べ替えられ、結果が次々と結合されたようなものです。
フラグ = 1 の行とフラグ = 0 の行のソート順が逆になることに注意してください。
SQLで行うことは可能ですか?Java コードで 2 つのクエリを作成して ResultSet を手動でマージするのは好きではありません。
ruby-on-rails - HSQLDB を Rails アプリに埋め込む際の無効な SQL
Rails アプリを JRuby と HSQLDB に移植する作業を行っています。私の目標は、データベースとサイトを単一の JAR ファイルに組み込み、顧客のサイトにデプロイすることです。私はサイトを JAR から非常にうまく機能させていますが、いくつかの注目すべき問題があります。
かなりありふれた ActiveRecord モデルで次のことを行うと、次のようになります。
次の例外が発生します。
ActiveRecord::StatementInvalid (ActiveRecord::ActiveRecordError: 集計関数または句によってグループ化されていません: ステートメントの org.hsqldb.Expression@7be117eb [SELECT count(session_logs.id) AS count_id FROM session_logs WHERE (created_at >= '2010-02- 06' AND created_at <= '2010-03-09' AND session_type = 'tunnel_client') ORDER BY ID DESC ]:
SELECT count(session_logs.id) AS count_id FROM session_logs WHERE (created_at >= '2010-02-06' AND created_at <= '2010-03-09' AND session_type = 'tunnel_client') ORDER BY id DESC )
COUNT ステートメントが HSQLDB で問題を引き起こしていることは明らかですが、これを修正するための解決策がわかりません。SQLite3 と MySQL はどちらも、この SQL ステートメントを問題なく処理します。
私は HSQLDB 以外の別のデータベースを使用することにオープンですが、JVM 上のアプリケーションに埋め込むことができる必要があります。それがHSQLDBの魅力です。
schema - Hsqldbスキーマを検査します
Hsqldbスタンドアロンモードで既存のスキーマを検査し、その後変更することは可能ですか?組み込みの管理ツールを使用してファイルを確認し、SQuirrelSQLクライアントを接続してみました。
さまざまなテーブルに存在する主キーに特に興味があります。MySqlの「showcreatetable...」または「describe」に相当するコマンドはありますか?
java - HSQLDBインメモリセットアップのHSQLDB制約違反とSQLクエリログ
JavaでHibernate/JPA単体テストをバックアップするために組み込みHSQLDBを使用するセットアップがあり、テスト実行後にデータベースを破棄するだけなので、インメモリデータベースモードを使用しています。私の問題は、制約違反が原因でテストの1つが失敗し、HSQLDBが列をSYS_CT_286としてリストし、ログに表示されるクエリが、実際のパラメーター値が何であるかを確認できないプリペアドステートメントであるということです(これらはに置き換えられます) '?')。私の質問は次のとおりです。
1-実際に実行されているSQLを確認する方法はありますか?(たとえば、mysqlクエリログのように?)。
2- SYS_CT_286とは正確には何ですか?それは私の列の1つではありません、それは生成された列ですか?それで間違っているかもしれない明らかな何かがありますか?
ありがとう。
sql - HSQLDB でのアトミック INSERT/SELECT
次の hsqldb テーブルがあり、UUID を自動インクリメント ID にマップします。
SHORT_ID (BIG INT, PK, auto incremented) | UUID (VARCHAR, unique)
コマンドを作成します。
CREATE TABLE mytable (SHORT_ID BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, UUID VARCHAR(36) UNIQUE)
新しいペアを同時に追加するには、atomicMERGE INTO
ステートメントを使用します。したがって、私の(準備された)ステートメントは次のようになります。
MERGE INTO mytable USING (VALUES(CAST(? AS VARCHAR(36)))) AS v(x) ON mytable.UUID = v.x WHEN NOT MATCHED THEN INSERT VALUES v.x
ステートメントを実行すると(プレースホルダーを正しく設定すると)、常に
Caused by: org.hsqldb.HsqlException: row column count mismatch
ここで何がうまくいかないのか、ヒントを教えてください。
前もって感謝します。
sql - SQL - 単一テーブル内の 1 つの列のすべての行値を合計する
SQL-select-query に関する質問があります。テーブルにはいくつかの列が含まれており、そのうちの 1 つは「サイズ」と呼ばれる整数列です。実行しようとしているタスクは、すべての合計をテーブルに照会することです。行 (それらの値)、またはより正確には、テーブル内のすべての「サイズ」値の合計を含む「overallSize」と呼ばれる ResultSet の人工的な列を取得します。WHERE句を使用して特定の値のみを追加できることが望ましいです(「WHERE bla = 5」など)。
DBエンジンはSQL2008準拠のHSQLDB(HyperSQL)です。
前もって感謝します :)
java - HSQLDB と SequenceGenerator の問題
ID フィールドを持つエンティティがあります。
このクラスには、シーケンス ジェネレーターも定義されています。
また、Oracle スキーマには必要なシーケンスが存在します。すべて正常に動作します。
インメモリ HSQLDB を使用するテストもあります。テストを実行する前に、Hibernate エンティティ クラスに基づいてすべてのテーブルが作成されます。
ただし、この特定のクラスのテーブルは作成されていません。ID は文字列であり、HSQLDB の SequenceGenerator は INT / LONG / Numeric 値を返すため、エラーがポップアップします。
アプリケーションは従来の Oracle データベースを使用しており、ID_VOIE 列は String / Varchar のままにする必要があります。
解決策はありますか?
hibernate - HSQLDBを使用したTDD-外部キーの削除
私はデータレイヤー統合テストにHSQLDBを使用しています。これは素晴らしいことです。ただし、外部キーの制約がテストの邪魔になっていることがわかりました。たとえば、1つのテーブルで単純な選択をテストするには、ダミーデータを5つの追加テーブルに挿入する必要があります。これは私が物を投げたくなります。
モデルコード全体にJPAアノテーションがあり、構成でスキーマ(hbm2ddl.create-drop)を再作成するようにHibernateを構成しました。テーブルが生成されるとき、結合は外部キー制約として正しく解釈されています。
私が欲しいのは次のいずれかです:
- 最初に外部キーを作成しない(理想的、最もクリーン)、または
- データベース内のすべての外部キーをプログラムで削除する方法を見つけてください(ちょっとハッキーですが、仕事は終わります)
それが役に立ったら、私はこれらのテストを自動配線するためにSpringを使用しています。問題のテストは、AbstractTransactionalJUnit4SpringContextTestsから継承されます。
どう思いますか?これはできますか?
sql - SQLをエクスポートするhsqldbのER図の作成
現在、DBスキームを設計しています。hsqldb を使用する必要があります。- 普段は ER 図を作成するのが好きで、SQL ソースをエクスポートしています。したがって、ER ダイアグラムを hsqldb SQL コードに自動的に変換するツールを探しています。MySQL Workbench またはある種の Web インターフェイス ( http://ondras.zarovi.cz/sql/demo/ ) を使用すると、任意のサーバーがサポートされるようですが、hsqldb.
私はそれをし始めています。確かに、どのツールからでも SQL コードをエクスポートして、それに合わせて編集できます。ただし、これは保存できる1つのステップだと思います...適切な図ツールを使用します:-)