选择Count in inout Variable时出现MySQL语法错误

时间:2015-02-04 05:31:28

标签: mysql

以下是代码:

CREATE PROCEDURE CountOrderByStatus(
IN orderStatus VARCHAR(25),
OUT total INT)
BEGIN
SELECT count(orderNumber)
INTO total
FROM orders
WHERE status = orderStatus;
END

当我尝试执行此操作时,我收到以下错误:

  

错误SQL(1064):SQL语法中有错误;检查   手册,对应右边的MySQL服务器版本   要在''附近使用的语法在第8行

我谷歌搜索了一段时间,但我无法找到有关此问题的任何信息。许多来源并未将此类代码称为无效。例如,上面的片段位于this站点。

任何想法,为什么每个人都在说,这是正常的,但MySQL产生了这样的奇怪错误?

P.S。:Windows 8.1上的MySQL Server 5.6。

1 个答案:

答案 0 :(得分:0)

忘了添加DELIMITER。它必须看起来:

    DELIMITER $$
    CREATE PROCEDURE CountOrderByStatus(
    IN orderStatus VARCHAR(25),
    OUT total INT)
    BEGIN
    SELECT count(orderNumber)
    INTO total
    FROM orders
    WHERE status = orderStatus;
    END$$
    DELIMITER ;

抱歉愚蠢的问题。