0

Oracle データベースにテーブル ( tbl_mark6_trainee ) があります。このテーブルには、「 status 」というフィールドがあります。ユーザーが自分のアプリケーションに登録するたびに、このテーブルに新しい行が作成され、デフォルト値の「ステータス」が「不完全」に設定されます。

私が作成している Web アプリケーションは、このフィールド (「ステータス」) の値が (「未完了」から「完了」に) 7日以内に変更されない場合、このアプリケーションの管理者に電子メールを送信する必要があります。このサイトに登録しているユーザー。

私が扱っているテクノロジは C#.net です。

私は電子メールのビットを処理しました。人間の介入なしに、そのフィールドのステータスを 7 日ごとに確認するにはどうすればよいですか?

4

3 に答える 3

0

何かが 7 日以内に発生しなかったことを確認するには、行が追加された元の日付をどこかに保存する必要があります。この行を追加したコードを変更して、このテーブルに別の列を追加して、この日付を格納します。もう 1 つの可能性は、挿入トリガーを追加して、データベース レイヤーに列を格納することです。

いずれにせよ、元の作成日が保存されると、クエリは次のようになります

select * 
  from table_name 
 where created_date < sysdate - 7 
   and status = 'Incomplete';

これにより、7 日以上前に作成され、ステータスがまだ不完全なアイテムが表示されます。次に、別のプロセスを使用してこのクエリを定期的に (たとえば、深夜ごとに) 実行して、不完全な登録を見つけて、適切な人に電子メールを送信できます。

于 2013-09-20T05:28:57.327 に答える
0

チェックを行い、電子メール送信スクリプトを呼び出すコンソール アプリケーションを作成できます。スケジュールされたタスク/クローン ジョブに追加し、7 日ごとに実行します。

また

私はオラクルを使用したことがありませんが、おそらくそれは chron ジョブを実行し、いくつかのアプリまたはスクリプトを単独で呼び出すことができますか?

于 2013-09-20T05:25:45.367 に答える