如何在mysql中设置SELECT语句的输出值?

时间:2018-10-20 12:33:58

标签: mysql mysql-event

因此,我正在创建一个mysql EVENT,该事件用于计算transaction_tbl每月的销售额。我找不到我犯的错误。

这是我的查询:

DELIMITER |

 CREATE EVENT compute_sales
 ON SCHEDULE
      EVERY 1 MONTH STARTS '2018-10-01 22:00.00'
 DO
      BEGIN

 DECLARE mmsales DECIMAL(11, 2)
 SET mmsales = SELECT SUM(total_amount)
           FROM transaction_tbl
           WHERE MONTH(transaction_date) = MONTH(CURRENT_DATE()) AND
                YEAR(transaction_date) = YEAR(CURRENT_DATE())

 INSERT INTO sales_tbl (sales_year, sales_month, total_sales, time_frame) VALUES 
          (YEAR(CURRENT_DATE), MONTHNAME(CURRENT_DATE), mmsales, CURRENT_DATE)

 END |

 DELIMITER ;

这是我遇到的错误:

  

#1064-您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在'SET mmsales = SELECT SUM(total_amount)附近使用                  第8行的FROM FROM transaction_tbl'

1 个答案:

答案 0 :(得分:1)

您需要使用方括号:

0

此外,您应该以分号结束每个语句。