0

問題:

テーブルが挿入されたときにトリガーを作成したいので、チェックを行って特定のユーザーに電子メールを送信する必要があります。このために、いくつかの値を別のQUEUEテーブルに挿入するトリガーを使用することを考えています。次に、 QUEUEテーブルのトリガーは、上位x個の電子メールを取得して送信し、すべてのレコードが完了するまでループします。したがって、トリガーが呼び出されると、トリガーが機能している間にQUEUEテーブルに挿入される可能性があります。したがって、トリガーは待機し、QUEUEテーブルに挿入されるたびに、現在実行中のトリガーが実行された後に待機します。

質問:

私のアプローチは正しいですか。より良い方法があれば、誰かが私を助けることができます。トリガーが何度も起動される場合、それは設計上の問題ですか。実行中のトリガーがあるときにトリガーを無視する方法はありますか?

4

1 に答える 1

1

ここで提案できるのは、

1.メインテーブルにトリガーを作成します。新しいレコードがメインテーブルに挿入されるたびに、レコードを別のテーブル(QUEUEテーブル)に挿入します。

2.次に、キューテーブルから上位X行を選択して電子メールを送信するsprocを作成します。

3.次に、上記で作成したsprocを定期的に実行するSQLジョブを作成します。

4. sprocでは、電子メールを送信した後、それらのレコードをQUEUEテーブルから削除するか、それらを使用して何かを行うことができます。

于 2012-08-28T12:26:13.207 に答える