2016-05-17 5 views
1

私はoldUserID、newUserID、名前と電子メールでいっぱいのテーブルを持っています。私は各行の電子メールにsp_send_dbmailを使用したいと思います。例:sp_send_dbmailにrecieptentと単一のSQLローのコンテンツを使用する

oldUserID | newUserID |名前|メール

21213125 | | 2355233571 |トム| [email protected]

65465465 | 4564884664 |マット| [email protected]

など200行。 oldUserIDとnewUserIDを含む各行の電子メールにsp_send_dbmailを送信する方法はありますか?私は手動で各emailadressを入力しないでいただければ幸いです

「2355233571あなたの古いユーザーID::21213125、新しいユーザID」メールでの出力は次のようなものになるだろう。

ありがとうございました!

+0

はい、あります。あなたは解決策を見つけて試しましたか? – dfundako

答えて

2
DECLARE 
     @txt NVARCHAR(MAX) 
    , @name NVARCHAR(60) 
    , @email VARCHAR(100) 

DECLARE cur CURSOR FAST_FORWARD READ_ONLY LOCAL FOR 
    SELECT 'Your old user id: ' + CAST(oldUserID AS NVARCHAR(100)) 
     + ', your new user id: ' + CAST(newUserID AS NVARCHAR(100)), name, email 
    FROM ... 

OPEN cur 

FETCH NEXT FROM cur INTO @txt, @name, @email 

    WHILE @@fetch_status = 0 
    BEGIN 

     EXEC msdb.dbo.sp_send_dbmail @profile_name = ... 
            , @recipients = @email 
            , @subject = @name 
            , @body = @txt 
            , @body_format = 'HTML' 

    FETCH NEXT FROM cur INTO @txt, @name, @email 

    END 

CLOSE cur 
DEALLOCATE cur 
+0

これは本当に素晴らしい解決策でした、ありがとう! – Glews

+0

@Glewsあなたは歓迎です:) – Devart

関連する問題