bitsCN.com

MySQL存储过程例子,不能在if else里面用begin end否则会报错Error Code:1064解决

Error Code : 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

报错是因为mysql的procedure里面if else语句里面, 用了begin end语句,去掉了就OK了.

[sql]

DELIMITER $$

USE `sportgbmj`$$

DROP PROCEDURE IF EXISTS `sp_web_addmiddayrank`$$

CREATE DEFINER=`root`@`%` PROCEDURE `sp_web_addmiddayrank`()

BEGIN

/*

修订记录:

-------------------------------------------------------------------

版本 修订人 修订日期 修订描述

-------------------------------------------------------------------

1.0.0 2013-06-15 查询当前中午12:30-13:30比赛排名

该sp 当前比赛结束后执行

排名先决条件:

1:在一场内必须完满10(含)局以上

-------------------------------------------------------------------

*/

DECLARE i_date DATE ;

DECLARE i_starttime TIME;

DECLARE i_endtime TIME;

SET i_date = NOW();

SET i_endtime = NOW();

IF (i_endtime > '22:30') THEN

BEGIN

/* 夜间赛场 */

SET i_starttime = '21:30';

SET i_endtime = '22:30';

END

ELSE

BEGIN

/* 中午场 */

SET i_starttime = '12:30';

SET i_endtime = '13:30';

END

END IF;

CREATE TEMPORARY TABLE tmp_rank(

id INT NOT NULL AUTO_INCREMENT -- 自增

,userid INT -- 用户标识

,beans INT -- bean 汇总

,rounds TINYINT -- 局数 汇总

,posttime TIME -- 时间 (该玩家本场比赛最后的时间)

) ENGINE = MYISAM;

INSERT INTO tmp_rank (userid,beans,rounds,posttime)

SELECT

userid

,SUM(CASE WHEN consume > 0 THEN consume ELSE 0 END) beans

,COUNT(userid) rounds

,MAX(posttime) AS posttime

FROM

score AS S

INNER JOIN

scorelist AS SL

ON

S.pid = SL.pid

WHERE

roomid IN ('1001') AND (postdate = i_date AND posttime >='12:30:00' AND posttime <='13:30:00')

GROUP BY

userid

HAVING

(rounds >= 10)

ORDER BY

beans DESC

,maxtime ASC

LIMIT 500;

/*

插入排名表

*/

INSERT INTO

hf_playranklist (userid,rank,beans,rounds,postdate,posttime)

SELECT

userid,beans,rounds,i_date,posttime

FROM tmp_rank;

/*

插入奖品表

*/

INSERT INTO hf_prizelist (userid,STATUS,prizeid,receivetime,postdate)

SELECT

userid

,0

,(CASE WHEN id >= 11 THEN 4

WHEN (id >= 3 AND id <= 10) THEN 3

WHEN id = 2 THEN 2

WHEN id = 1 THEN 1

END) AS prizeid

,beans

,rounds

,posttime

FROM

tmp_rank AS R

WHERE

rank >= 30;

END$$

DELIMITER ;

bitsCN.com

相关标签:

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql if begin end_MySQL存储过程例子,不能在if else里面用begin end否则会报错Erro_MySQL...相关推荐

  1. 向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错?

             这几天在做一个Javaweb的图书商城项目,在操作数据库的过程中,遇到一个问题? 向数据库中的order数据表中插入数据时,一直插入数据失败.没有报SQL语句语法错误,Eclipse ...

  2. mysql设置字段为空字符串_mysql数据类型字段插入空字符串自动填充为0报错

    有一条这样的sql语句, insert into a(id,user_name) values('','abc'); 表示插入字段的时候ID插入是空字符串.这样的情况在mysql5.6版本上执行报错. ...

  3. eclipse启动mysql报错_Eclipse+mysql+java Eclipse中运行没有问题,但打包后运行不了,也不报错,求高手指点...

    这几天用Eclipse+mysql+java编写了一个班级信息管理的软件.在Eclipse里运行没有问题所有功能都没有问题,但无论用Eclipse中自带的export生成可执行的jar包,还是用fat ...

  4. 记一次解决Mysql:Incorrect string value: ‘\xF0\x9F\x8D\x83\xF0\x9F...‘ for column 插入emoji表情报错问题

    近日在插入mysql数据时,报了一个错'\xF0\x9F\x8E\x80Sa...'的错误,导致数据插入不进去.一看字段名是存储微信昵称的字段,想到的可能是有什么表情符号插入不进去. 通常情况,Mys ...

  5. Mysql报错1091解决办法_关于MYSQL:外键删除后,查询表发现外键依旧存在,再删一次会报错:原因及相关解决办法...

    1.创建表test6:外键名为test3_fk mysql> create table test6( -> id int, -> test_name varchar(32), -&g ...

  6. ssh框架mysql连接出错_使用ssh框架,不能像数据库添加数据,还不报错

    MVC模式 public class GoodsAction extends ActionSupport{ private IService service; private GoodsVO vo; ...

  7. mysql映射表_MySQL报错找不到问题?可能是你的SQL用了关键字

    现在使用navicat图形界面或者Hibernate做映射生成表的时候,渐渐的会忽视掉关键字这个问题,而后续也会不断的产生错误提示,一遍遍的查询代码无果,甚至开始怀疑人生,但是其实很多情况下只是使用了 ...

  8. mysql报错系列持续整理1064 - You have an error in your SQL syntax;...near...

    前言 怎么又是这个错,感觉似曾相识之前遇到过多次了.是的这就是mysql语句报错1064 - You have an error in your SQL .syntax;...near...感觉每次不 ...

  9. 创建存储过程报错:1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQ

    自己写了一个创建存储过程的语句: create procedure abcd() begin       select * from area; end ; 语法什么的都没有错误,但是提示报错:106 ...

最新文章

  1. 聊聊接口优化的几个方法
  2. Centos配置nginx反向代理8080端口到80端口
  3. php是独立服务吗,使用Sprockets作为PHP应用程序的独立服务
  4. java 语义_Java文件合并变得语义化
  5. 根据数组中的某个键值大小进行排序,仅支持二维数组
  6. 9.Springcloud的Hystrix服务熔断和服务降级
  7. Java编程中“为了性能”尽量要做的26点
  8. windows和Linux虚拟机或者云主机之间传输文件
  9. ActiveMQ开发配置与用例
  10. MySQL数据教程(一)数据库概念,超详细安装和配置数据库,数据库可视化界面介绍
  11. 一般纳税人和小规模纳税人哪个好?哪个更划算?
  12. 火山pc实现找图找色模块
  13. CYUSB3014设计方案|替代CYUSB3014芯片|方寸微T630可完全替代兼容CYPRESS CYUSB3014
  14. MT6737 PCB设计指南资料分享
  15. 【寒假每日一题】剪绳子(个人练习)详细题解+推导证明(第六天)
  16. 基于 nRF SDK17.2,Nordic NFC 读写的实现。
  17. Android 上的SSH软件 connectbot
  18. 小程序开发(适合初学者)
  19. FPGA开发板XILINX-K7核心板Kintex7 XC7K325 410T工业级
  20. ubuntu13.10中mplayer中文字幕的乱码问题的过程记录

热门文章

  1. leetcode 84. Largest Rectangle in Histogram | 84. 柱状图中最大的矩形(单调栈)
  2. 多线程与高并发(二):解析自旋锁CAS操作与volatile
  3. dart系列之:和null说再见,null使用真实实践
  4. ECMAScript 6新特性简介
  5. Scala的自定义类型标记
  6. Hive体系结构(一)架构与基本组成
  7. 《测试驱动开发》学习笔记
  8. spring注解式参数校验
  9. 容器学习 之 限制容器资源(十一)
  10. Effective Java之慎用可变参数(四十二)