ok

  1. DROP PROCEDURE
  2. IF EXISTS truncate_insert_rank_month;
  3. DELIMITER /w/
  4.  
  5. CREATE PROCEDURE truncate_insert_rank_month ()
  6. BEGIN
  7.  
  8. SET @w = 10 ; TRUNCATE rank_month ;
  9. WHILE @w < 110 DO
  10. INSERT INTO rank_month (
  11. fk_country,
  12. fk_categoryid,
  13. topx,
  14. history_year,
  15. history_month,
  16. coin_sum,
  17. amount_sum
  18. ) SELECT
  19. country,
  20. categoryid,
  21. @w,
  22. DATE_FORMAT(grab_date, '%Y'),
  23. DATE_FORMAT(grab_date, '%M'),
  24. SUM(grab_coin),
  25. SUM(grab_amount)
  26. FROM
  27. grab_rank
  28. WHERE
  29. grab_amount_rank < (@w + 1)
  30. GROUP BY
  31. country,
  32. categoryid,
  33. DATE_FORMAT(grab_date, '%Y'),
  34. DATE_FORMAT(grab_date, '%M') ;
  35. SET @w = @w + 10 ;
  36. END
  37. WHILE ;
  38. END/w/
  39. DELIMITER;
  40. CALL truncate_insert_rank_month;

ok

  1. DROP PROCEDURE
  2. IF EXISTS truncate_insert_rank_month;
  3. DELIMITER /w/
  4.  
  5. CREATE PROCEDURE truncate_insert_rank_month ()
  6. BEGIN
  7. TRUNCATE rank_month ;
  8. SET @w = 10 ;
  9. WHILE @w < 110 DO
  10. INSERT INTO rank_month (
  11. fk_country,
  12. fk_categoryid,
  13. topx,
  14. history_year,
  15. history_month,
  16. coin_sum,
  17. amount_sum
  18. ) SELECT
  19. country,
  20. categoryid,
  21. @w,
  22. DATE_FORMAT(grab_date, '%Y'),
  23. DATE_FORMAT(grab_date, '%M'),
  24. SUM(grab_coin),
  25. SUM(grab_amount)
  26. FROM
  27. grab_rank
  28. WHERE
  29. grab_amount_rank < (@w + 1)
  30. GROUP BY
  31. country,
  32. categoryid,
  33. DATE_FORMAT(grab_date, '%Y'),
  34. DATE_FORMAT(grab_date, '%M') ;
  35. SET @w = @w + 10 ;
  36. END
  37. WHILE ;
  38. END/w/
  39. DELIMITER;
  40. CALL truncate_insert_rank_month;
  1. DROP PROCEDURE
  2. IF EXISTS truncate_insert_rank_month;
  3. DELIMITER /w/
  4.  
  5. CREATE PROCEDURE truncate_insert_rank_month ()
  6. BEGIN
  7. TRUNCATE rank_month ;
  8. DECLARE w INT ;
  9. SET w = 10 ;
  10. WHILE w < 110 DO
  11. INSERT INTO rank_month (
  12. fk_country,
  13. fk_categoryid,
  14. topx,
  15. history_year,
  16. history_month,
  17. coin_sum,
  18. amount_sum
  19. ) SELECT
  20. country,
  21. categoryid,
  22. w,
  23. DATE_FORMAT(grab_date, '%Y'),
  24. DATE_FORMAT(grab_date, '%M'),
  25. SUM(grab_coin),
  26. SUM(grab_amount)
  27. FROM
  28. grab_rank
  29. WHERE
  30. grab_amount_rank < (w + 1)
  31. GROUP BY
  32. country,
  33. categoryid,
  34. DATE_FORMAT(grab_date, '%Y'),
  35. DATE_FORMAT(grab_date, '%M') ;
  36. SET w = w + 10 ;
  37. END
  38. WHILE ;
  39. END/w/
  40. DELIMITER;
  41. CALL truncate_insert_rank_month;
  1. [Err] 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 'DECLARE w INT ;
  2. SET w = 10 ;
  3. WHILE w < 110 DO
  4. INSERT INTO rank_month (
  5. fk' at line 4

http://dev.mysql.com/doc/refman/5.7/en/stored-programs-defining.html

  1. DROP PROCEDURE
  2. IF EXISTS truncate_insert_rank_month;
  3. DELIMITER /w/
  4.  
  5. CREATE PROCEDURE truncate_insert_rank_month ()
  6. BEGIN
  7.  
  8. DECLARE w INT ; TRUNCATE rank_month ;
  9. SET w = 10 ;
  10. WHILE w < 110 DO
  11. INSERT INTO rank_month (
  12. fk_country,
  13. fk_categoryid,
  14. topx,
  15. history_year,
  16. history_month,
  17. coin_sum,
  18. amount_sum
  19. ) SELECT
  20. country,
  21. categoryid,
  22. w,
  23. DATE_FORMAT(grab_date, '%Y'),
  24. DATE_FORMAT(grab_date, '%M'),
  25. SUM(grab_coin),
  26. SUM(grab_amount)
  27. FROM
  28. grab_rank
  29. WHERE
  30. grab_amount_rank < (w + 1)
  31. GROUP BY
  32. country,
  33. categoryid,
  34. DATE_FORMAT(grab_date, '%Y'),
  35. DATE_FORMAT(grab_date, '%M') ;
  36. SET w = w + 10 ;
  37. END
  38. WHILE ;
  39. END/w/
  40. DELIMITER;
  41. CALL truncate_insert_rank_month;
  42.  
  43. DROP PROCEDURE
  44. IF EXISTS truncate_insert_rank_week;
  45. DELIMITER /w/
  46.  
  47. CREATE PROCEDURE truncate_insert_rank_week ()
  48. BEGIN
  49.  
  50. DECLARE w INT ; TRUNCATE rank_week ;
  51. SET w = 10 ;
  52. WHILE w < 110 DO
  53. INSERT INTO rank_week (
  54. fk_country,
  55. fk_categoryid,
  56. topx,
  57. history_year,
  58. history_week,
  59. coin_sum,
  60. amount_sum
  61. ) SELECT
  62. country,
  63. categoryid,
  64. w,
  65. DATE_FORMAT(grab_date, '%Y'),
  66. DATE_FORMAT(grab_date, '%V'),
  67. SUM(grab_coin),
  68. SUM(grab_amount)
  69. FROM
  70. grab_rank
  71. WHERE
  72. grab_amount_rank < (w + 1)
  73. GROUP BY
  74. country,
  75. categoryid,
  76. DATE_FORMAT(grab_date, '%Y'),
  77. DATE_FORMAT(grab_date, '%V') ;
  78. SET w = w + 10 ;
  79. END
  80. WHILE ;
  81. END/w/
  82. DELIMITER;
  83. CALL truncate_insert_rank_week;
  84.  
  85. DROP PROCEDURE
  86. IF EXISTS truncate_insert_rank_all;
  87. DELIMITER /w/
  88.  
  89. CREATE PROCEDURE truncate_insert_rank_all ()
  90. BEGIN
  91.  
  92. DECLARE w INT ; TRUNCATE rank_all ;
  93. SET w = 10 ;
  94. WHILE w < 110 DO
  95. INSERT INTO rank_all (
  96. fk_country,
  97. fk_categoryid,
  98. topx,
  99. coin_sum,
  100. amount_sum
  101. ) SELECT
  102. country,
  103. categoryid,
  104. w,
  105. SUM(grab_coin),
  106. SUM(grab_amount)
  107. FROM
  108. grab_rank
  109. WHERE
  110. grab_amount_rank < (w + 1)
  111. GROUP BY
  112. country,
  113. categoryid ;
  114. SET w = w + 10 ;
  115. END
  116. WHILE ;
  117. END/w/
  118. DELIMITER ;
  119.  
  120. CALL truncate_insert_rank_all;

Defining Stored Programs的更多相关文章

  1. Using Stored Programs with MySQLdb

    http://flylib.com/books/en/1.142.1.125/1/ Using Stored Programs with MySQLdb The techniques for call ...

  2. MySQL之mysql命令使用详解

    MySQL Name mysql - the MySQL command-line tool Synopsis mysql [options] db_name Description mysql is ...

  3. An Introduction to Stored Procedures in MySQL 5

    https://code.tutsplus.com/articles/an-introduction-to-stored-procedures-in-mysql-5--net-17843 MySQL ...

  4. Migrating Oracle on UNIX to SQL Server on Windows

    Appendices Published: April 27, 2005 On This Page Appendix A: SQL Server for Oracle Professionals Ap ...

  5. MySQL权限系统(二). MySQL提供的特权 Privileges Provided by MySQL

    MySQL provides privileges that apply in different contexts and at different levels of operation: Adm ...

  6. MySQL 之 Metadata Locking 研究

    MySQL5.5 中引入了 metadata lock. 顾名思义,metadata lock 不是为了保护表中的数据的,而是保护 database objects(元数据)的.包括表结构.schem ...

  7. My Sql 中要Alter Table的同学请注意!!!

    首先我建议你在对MySQL表做DDL操作时: 1 执行 show processlist 查看,要操作的表(数据库对象)是否处于锁状态 if("未锁定") { 执行DDL语句 }e ...

  8. Raising Error Conditions with MySQL SIGNAL / RESIGNAL Statements

    http://www.mysqltutorial.org/mysql-signal-resignal/ Summary: in this tutorial, you will learn how to ...

  9. [MySQL Reference Manual] 6 安全性

    6. 安全性 在Mysql安装配置时要考虑安全性的影响,以下几点: Ÿ   常规因素影响安全性 Ÿ   程序自身安全性 Ÿ   数据库内部的安全性,即,访问控制 Ÿ   网络安全性和系统安全性 Ÿ   ...

随机推荐

  1. Libsvm自定义核函数【转】

    1. 使用libsvm工具箱时,可以指定使用工具箱自带的一些核函数(-t参数),主要有: -t kernel_type : set type of kernel function (default 2 ...

  2. Windows 7下搭建Jmeter测试环境

    jmeter配置.安装 一. 工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.设计jmeter的初衷是测试web应用,后 ...

  3. 餐厅到店点餐系统app燃尽图

    队友: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...

  4. 简单几何(直线与圆的交点) ZOJ Collision 3728

    题目传送门 题意:有两个一大一小的同心圆,圆心在原点,大圆外有一小圆,其圆心有一个速度(vx, vy),如果碰到了小圆会反弹,问该圆在大圆内运动的时间 分析:将圆外的小圆看成一个点,判断该直线与同心圆 ...

  5. HDU2588 GCD(欧拉函数)

    题目问[1,n]中与n的gcd大于等于m的数的个数. 好难想... 假设x满足条件,那么gcd(x,n)=d>=m,而x/d与n/d一定互质. 又x<=n,所以x/d<=n/d. 于 ...

  6. HDU2841 Visible Trees(容斥原理)

    题目..大概就是有个m*n个点的矩形从(1,1)到(m,n),问从(0,0)出发直线看过去最多能看到几个点. 如果(0,0)->(x,y)和(0,0)->(x',y')两个向量平行,那后面 ...

  7. Linq使用Distinct删除重复数据时如何指定所要依据的成员属性zz

    最近项目中在用Linq Distinct想要将重复的资料去除时,发现它跟Any之类的方法有点不太一样,不能很直觉的在呼叫时直接带入重复数据判断的处理逻辑,所以当我们要用某个成员属性做重复数据的判断时, ...

  8. !cocos2d ccdictionary->retain()的问题

    我再a类当中生命了一个dict,将它带入到b类当中,但没有在b类初始化时retain,于是在update当中找不到了.啃爹不.记得retain()

  9. Javascript中call的使用

    Javascript中call的使用自己感觉蛮纠结的,根据文档很好理解,其实很难确定你是否真正的理解. call 方法应用于:Function 对象调用一个对象的一个方法,以另一个对象替换当前对象.c ...

  10. HDU 1561 (树形DP+背包)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1561 题目大意:从树根开始取点.最多取m个点,问最大价值. 解题思路: cost=1的树形背包. 有 ...