MySQL存储过程例子,不能在if else里面用begin end否则会报错Erro_MySQL
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
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
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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

本文討論了使用MySQL的Alter Table語句修改表,包括添加/刪除列,重命名表/列以及更改列數據類型。

文章討論了為MySQL配置SSL/TLS加密,包括證書生成和驗證。主要問題是使用自簽名證書的安全含義。[角色計數:159]

文章討論了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比較了它們對初學者和高級用戶的功能和適合性。[159個字符]

本文討論了使用Drop Table語句在MySQL中放下表,並強調了預防措施和風險。它強調,沒有備份,該動作是不可逆轉的,詳細介紹了恢復方法和潛在的生產環境危害。

本文討論了在PostgreSQL,MySQL和MongoDB等各個數據庫中的JSON列上創建索引,以增強查詢性能。它解釋了索引特定的JSON路徑的語法和好處,並列出了支持的數據庫系統。

文章討論了使用準備好的語句,輸入驗證和強密碼策略確保針對SQL注入和蠻力攻擊的MySQL。(159個字符)
