SQLなどのデータベースがあり、サードパーティからデータベースにフィードを取得しています(毎回更新しています)。例のように、アプリケーションに通知を受け取る必要があります。
select * form table Bonus > 50%
Windows サービスを使用してすべてのデータベースをチェックするか、SQL に設定して SQL からアラートを受け取ることができますか? できるだけ早く通知を受け取る必要があるため、1 秒または 5 秒ごとにデータベースをチェックするのは大変です。
SQLなどのデータベースがあり、サードパーティからデータベースにフィードを取得しています(毎回更新しています)。例のように、アプリケーションに通知を受け取る必要があります。
select * form table Bonus > 50%
Windows サービスを使用してすべてのデータベースをチェックするか、SQL に設定して SQL からアラートを受け取ることができますか? できるだけ早く通知を受け取る必要があるため、1 秒または 5 秒ごとにデータベースをチェックするのは大変です。
それはデータベースによって異なります。ほとんどすべてのデータベースは、データが変更されたときにトリガーを実行できますが、トリガー内のコードは通常 SQL (接続を開くことなどをサポートしていません) です。
Oracle のように、トリガーを許可し、Java コードも実行できるものもあります。ここでは、データベース内にソリューションを構築できます。
ただし、欠点があります。信号を送信できない場合はどうなりますか? トランザクション全体をロールバックする必要があります (これにより、他の比較的無関係なサービスが損なわれます。
したがって、通常の解決策は、問題のクエリを約 1 時間ごとに実行し、条件が満たされたときにシグナルを送信するコードを作成することです。
クエリが高価な場合は、2 つを混在させることができます: 何かが変更された場合にのみ (トリガーを使用して) クエリを実行し、結果をテーブルに保存します (「何かが $timestamp で発生した」など)。最後のシグナル以降に更新がありました。