問題タブ [recursive-triggers]

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.

0 投票する
1 に答える
405 参照

sqlite - プラグマを指定*していない* 3.8.8.3データベースで再帰トリガーが無効になっているのはなぜですか?

SQLite ドキュメントによると、バージョン 3.7.0 の時点で、再帰トリガーはデフォルトで有効になっているはずです。ただし、バージョン 3.8.8.3 を使用して (具体的には NuGet の System.Data.SQLite コアを使用して) データベースへの接続を開き、プラグマを確認すると、それらは '0' またはオフに設定されており、確かにそうではありません。再帰的に発火します。

3.8.2 を使用するオープン ソース ツール Sqlite ブラウザーなどでデータベースを開くと、プラグマがオフに設定されていることが示されます。UI でそれらを有効にすることはできますが、データベースを閉じてから再度開くとすぐに、それらは再びオフになります。なんてこと?

「PRAGMA RECURSIVE_TRIGGERS = 1;」を追加してみました。一部のオンライン ドキュメントでは動作するはずですが、もちろん動作しません。

SQLiteConnectionStringBuilder も調べましたが、バイナリ GUID などの他のプラグマ関連のものへの参照はありますが、再帰トリガーへの参照はなく、これには接続文字列を使用できないとさらに信じています。

簡単に言えば、これは私たちのアプリケーションを壊しています。データの整合性のために再帰トリガーに依存しています。

私たちの唯一の解決策は、アプリがプラグマを追加するために使用しているすべての SQL クエリを手動で編集することです。

それで...再帰トリガーがデフォルトで有効にされていない理由を理解するのを手伝ってくれる人はいますか?

0 投票する
0 に答える
48 参照

postgresql - Postgres - 収集したデータを 1 つのビューからテーブルに保存しますか?

バージョン: Postgres 9.3 / PG-Admin 3

これを行う方法があるかどうかはわかりませんが、1 行のリアルタイム データ コレクションをクエリするビューを作成しました。クエリを実行し、その時間の結果を返します。これが私の目標です:

  1. そのクエリを 5 分ごとに実行するように設定する
  2. そのクエリが実行されるたびに、そのデータの一部を別の永続的なテーブルに保存したいと考えています。したがって、ビューはデータを収集します - テーブルはデータを保存します。

ビューが更新されるたびに、以前のレコードが失われます。そのため、データを別のテーブルに保存しようとしています。

リアルタイム データを収集するために一度に 1 つの行を収集するクエリの理由 - ただし、後で履歴データを参照できるように格納する場所が必要です。

Postgresでこれを行う方法はありますか? ヒントやアイデアは大歓迎です!!