[ターン]実施例MySQLのストアドプロシージャ

オリジナル住所:https://blog.csdn.net/lishaojun0115/article/details/50183661

1  始める
 2  定义变量
3  宣言 local_senderのVARCHAR(20 )。
4  宣言 local_receiverのVARCHAR(20 )。
5  宣言するlocal_status int型を、
6  创建游标
7  宣言 local_messageカーソルのための選択patientid、からdoctorid 
 8 tb_purchaseservice_relation状態= 1とCREATETIME <DATE_SUB(NOW()、インターバル2 日)。
9  DECLARE  CONTINUEハンドラをのためのSET local_status = 0が見つかりません10セットlocal_status = 0;
11  打开游标
12  オープンlocal_message。
13セットlocal_status =(選択カウント tb_purchaseservice_relationから(*)ここでDATE_SUB(現在の状態= 1とCREATETIME <()、インターバル2 日))。
14  循环ながら
15  ながら local_status> 0 行う
16  给游标赋值
17 local_sender、にlocal_messageフェッチlocal_receiver。
18  であれば(local_status> 0 )、次いで
 19   tb_messagecenterへの挿入(タイプID、送信者、受信者、コンテンツ、isLooked、タイトル、isDeal、dealResult) 
 20値(807、CONCAT(さん _ '、807)、local_sender、CONCAT( ' 'サービスの失敗を購入'、0、 ')サービスの未処理、期限が切れている'ご購入'、local_receiver、0,3 );
 21   INSERT tb_pushmessage INTO(MessageText、doctorId、patientId、channelId、pushType、にmessageType、messagetitle)
 22の   値(CONCAT( '購入'、local_receiver、 'サービス未処理は、期限が切れている')、CONCAT( 'sの_ '、807)、local_sender 、local_sender、1807、 '購入サービス利用不可' );
 23れる。local_status =(local_status-セット1 )、
 24  エンド IF 25は 終了 しばらく;
 26である tb_purchaseservice_history。INSERT INTO(purchaseId、patientId、doctorId、州、consumePoint、transfertime) 
 27 SELECT purchaseId 、patientid、doctorid、5 など状態、consumePoint、tb_purchaseservice_relationからCREATETIME 
 28の状態= 1とCREATETIME <DATE_SUB(NOW()、インターバル2 日)。
29状態= 1とCREATETIME <DATE_SUB(NOW()、インターバル2 tb_purchaseservice_relationから削除日)。
30  结束游标
31  近くlocal_message。
32  終了

 

おすすめ

転載: www.cnblogs.com/phpk/p/10935516.html