一般的SP,在用户发一条消息过去定制某类型短信业务后(比如发“1”了过去),SP的后端数据库假设用存储过程将该定制消息保存到定制消息表A,该SP在该用户定制后会每天给该用户发天气预报消息。一般数据库端实现肯定会有几张表,比如至少有一张保存用户定制消息的表A,一张短信下发表B及一张天气预报内容表C。程序里应该是有一线程专门定时扫描那张短信下发表B,若该表有短信并且时间到达就下发给用户。我想问的是:天气预报内容表C的数据是何时、怎么转到表B的?这个一般应不是在程序中实现的吧,而由数据库端(如存储过程)内部实现的吧?一般怎么实现(数据从表C到表B转移的操作的调用源头会是在哪)?在看一个例子,没找到数据从表C到表B转移的操作的调用源头(程序在定制消息保存到表A调用的存储过程不涉及该调用;同时,程序定时扫描短信下发表B也就只从B中取记录,也不涉及该调用)。

解决方案 »

  1.   

    天气预报内容表C的数据是何时、怎么转到表B的?
    --------------------------------------------
    可以用Job(作業)和存儲過程(SP)來完成。
    例如:每天掃描一次已定制但還沒有發送(或發送失敗的)天氣預報的客戶,然後將天氣預報內容發送給他,若成功發送了則相應的在下發表B中記錄發送成功。
      

  2.   

    好像程序中扫描的就是下发表B,而不是发送成功了才将表C的记录复制到表B中。应该是下发前先将表C的记录复制到表B,再由程序扫描表B将记录发给客户。
      

  3.   

    “rockyljt(江濤) ”的意思是不是说由作业job来实现的?这个没弄过,怎么看是不是用了作业?(我已恢复了这个例子的原数据库)