テーブルリマインダー、メッセージ、ユーザーがいます。Reminderテーブルに行が作成されるたびに、UsersテーブルのAdministratorsがMessagingテーブルにメッセージを受け取るように実装する必要があります。
私はSQLクエリ内ですべてを行っています。すべての管理者ユーザーの挿入と選択まで到達しました。また、レコード数でループを実行することもできます。ループに1つずつ挿入したい。
If @flag=1 // flag=1 means reminder is created successfully
BEGIN
Declare @BackUpMessage as varchar(200)
Set @BackupMessage = 'Hi Admin,\r\n
\t A backup has been scheduled by the system. Details are given below: \r\n
a) Bakcup Type : '+rem_type+' \r\n
b) Backup Date : '+ Convert(varchar,GETDATE()+@days)+''
Set @Count = (Select Count(*) From JFPUsers Where RoleId=1 and Active=1) // Total Numbers of Admin
IF @Count > 0
Declare @i int =0
Select Id From JFPUsers Where RoleId=1 and Active=1 // Getting Id of each admin to save
While @i < @Count
BEGIN
Insert Into JFMessaging (MessageBody, SenderId,RecieverId,IsRead,SentOn,IsActive)
Values(@BackUpMessage, -1, ,0,GETDATE(),1) // I am stucked here
END
END
C#を使用して簡単に実行できますが、これらの処理を1回の接続と1回のヒット@バックエンドで実行したいと思います。
更新:画像と概要を参照してください
要約:私が必要としているのは、リマインダーでレコードが作成されるときです。クエリは、JFPUsers {condition RoleId = 1 is admin}からすべての管理者を選択し、JFMessagingにその行を作成します。ここで、SenderIdは、リマインダーまたは-1(システムの場合)を作成するユーザーであり、RecieverIdには、カスタム通知メッセージを含む管理者IDが含まれます。 。