mysql 存储过程的示例
2015-12-05 09:34
686 查看
begin #定义变量 declare local_sender varchar(20); declare local_receiver varchar(20); declare local_status int; #创建游标 declare local_message cursor for select patientid,doctorid from tb_purchaseservice_relation where state=1 and createtime<date_sub(now(),interval 2 day ); DECLARE CONTINUE HANDLER FOR NOT FOUND SET local_status=0; set local_status=0; #打开游标 open local_message; set local_status=(select count(*) from tb_purchaseservice_relation where state=1 and createtime<date_sub(now(),interval 2 day )); #while循环 while local_status>0 do #给游标赋值 fetch local_message into local_sender,local_receiver; if(local_status>0) then insert into tb_messagecenter(typeid,sender,receiver,content,isLooked,title,isDeal,dealResult) values(807,concat('s_',807),local_sender,concat('您购买',local_receiver,'的服务未处理,已失效'),0, '购买服务失效',0,3 ); insert into tb_pushmessage(MessageText,doctorId,patientId,channelId,pushType,messagetype,messageTitle) values(concat('您购买',local_receiver,'的服务未处理,已失效'),concat('s_',807),local_sender,local_sender,1,807,'购买服务失效'); set local_status=(local_status-1); end if; end while; insert into tb_purchaseservice_history(purchaseId,patientId,doctorId,state,consumePoint,transfertime) select purchaseId,patientid,doctorid,5 as state,consumePoint,createtime from tb_purchaseservice_relation where state=1 and createtime<date_sub(now(),interval 2 day ); delete from tb_purchaseservice_relation where state=1 and createtime <date_sub(now(),interval 2 day ); #结束游标 close local_message; end
相关文章推荐
- mysql编译安装配置(带图)详细
- 结合explain extended浅析使用mysql in 的效率
- mysql中show full processlist查看数据
- mysql explain 显示的列的意义
- Mysql 乱码配置
- MySQL中不能编码汉字
- MySQL查询本周、上周、本月、上个月份数据的sql代码
- Redhat 安装&配置 MySQL
- 为何MySQL有了partition分区后不能用Geometry类???
- mysql执行外部sql文件命令
- MYSQL— perror 错误码详情
- mysql 远程访问
- 7、MySQL日志管理
- mysql key index区别
- mysql 事务
- mysql join
- 5.mysql 连接字符串为空时的处理
- mysql 安装 同步备份
- mysql分表和表分区详解
- mysql -e与awk联合导出csv文件