我正在实现一个 SQL 警报系统来监控我们的一些数据。
该警报系统基本上调用一个存储过程,该过程根据返回的输出错误代码触发警报。
例子:
@ErrorCode = -100 ==>触发警报
@ErrorCode = 0 ==>什么都不做
现在,当触发警报时,它会进入数据库并获取用户和应该发送给他们的消息。
要发送的消息包含一些应该根据触发该警报的存储过程从数据库中获取的数据。前任:
*消息1:
亲爱的用户
%ServiceName%的内容 将以%NbrOfDays%天结束。*
*消息2:
亲爱的用户
今天的订阅者数量是%NbrOFSubscribers%*
如您所见,每条消息所需的数据都是动态的,并且取决于触发警报的存储过程。
应该使用什么来从存储过程中获取数据并将它们替换为消息中的动态值(%ServiceName%、%NbrOfDays%、%NbrOFSubscribers%)
我的想法之一是将它们作为 XML 输出参数返回。如下所示并替换它们。
<ServiceName> Great Stories </ServiceName>
<NbrOfDays> 10 </NbrOfDays>
<NbrOFSubscribers> 200 </NbrOFSubscribers>