4

12 行目 (endif ステートメント) でエラーが発生します。IF または ELSE 内で何か間違ったことをしていると思います。誰か助けてもらえますか?

DELIMITER $$

CREATE FUNCTION TEST (`param` INT) 
RETURNS INT 
DETERMINISTIC
BEGIN
    DECLARE `var` INT;

    SET `var` = 1;

    IF `param` > 0 THEN
        SET `var` = `var` + `param`;
    END IF;

    RETURN `var`;
END$$

編集:(ifの代わりにケースを使用した同じ機能、同じ問題)

DELIMITER $$

CREATE FUNCTION TEST (`param` INT) 
RETURNS INT 
DETERMINISTIC
BEGIN
    DECLARE `var` INT;

    SET `var` = 1;

    SET `var` = 
        CASE
            WHEN `param` > 0 THEN `var` + `param` ELSE `var`
        END ;

    RETURN `var`;
END$$
4

2 に答える 2

7

代わりにこれを試してください:

BEGIN
    DECLARE `var` INT;

    SET var = 
      CASE
        WHEN param > 0 THEN var + 1 ELSE var 
      END ;

    RETURN var;
END$$
于 2012-09-26T09:30:52.147 に答える
1

「ルーチンの追加」で関数を追加すると、PHPMyAdminのバグであることがわかりました。

于 2012-09-26T10:47:10.080 に答える