ここでは SQL Server 2008 を使用しています。私は死にかけている古い Web アプリを継承し、まったく新しい Web アプリに置き換えられました。新しいプロジェクトは稼働中ですが、古いプロジェクトは次の 1 か月半の移行期間のために存在します。
ここに問題があります。誰かがこのアプリを使用して SQL Server のテーブルに新しいレコードを追加したときに、アクションを実行する必要があります。古いソース コードはかなりお粗末で (真剣に、私が到着する前にバージョン管理が行われていません)、古いアプリを使用して電子メール通知を受け取るためだけに、時間をかけて何かをまとめる余裕はありません。
私の考え - SQL Server トリガーを使用して、INSERT 後にメールを送信します。新しいレコード (数十ではなく常に 1 レコード) がテーブルに入力されるたびに、自分自身と別の幸運な人にメールを送信したいと思います。SQL Serverでこれを行ったことはありませんが、実行可能のようです。
現在の私のSQLスクリプトは次のとおりです。
CREATE TRIGGER NotificationMail
ON OldJunk.[dbo].[JunkTable]
AFTER INSERT
AS
BEGIN
EXEC msdb.dbo.sp_send_dbmail --QUESTION: I HAVE NO IDEA WHAT TO PUT HERE, WHAT FOLLOWS
-- IS JUST COPYPASTA FROM A FORUM
@recipients = 'shubniggurath@email.com, someoneelse@email.com',
@subject = 'Old Registration Request - New Record',
@body = 'Somebody decided to register using the old system.'
END
GO
この create ステートメントを実行しようとすると、次のエラーが発生します。
ターゲットが現在のデータベースにないため、'OldJunk.dbo.JunkTable' にトリガーを作成できません。
よろしくお願いします。