程序无法使用" IF"

时间:2016-12-21 14:13:55

标签: mysql sql mariadb

我有以下的程序:

DELIMITER $$
CREATE OR REPLACE PROCEDURE add_comments
AS
BEGIN

DECLARE var INT;
SELECT grade INTO var FROM table1;

    IF (var <= 7) THEN
        UPDATE table2 set comment = not_good;
    ELSE
        UPDATE table2 set comment = good;
    END IF;
END$$

评论,not_good和good都是table2的所有列

但它给了我错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AS
BEGIN

    IF (var <= 7) 
    BEGIN
        UPDATE table2 set comment ' at line 3

无法找到问题,有人可以帮我解决这个问题吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

替换

DELIMITER $$
CREATE OR REPLACE PROCEDURE add_comments
AS
BEGIN

使用

DELIMITER $$
CREATE OR REPLACE PROCEDURE add_comments()
BEGIN

PS:添加括号并删除&#34; AS&#34;

答案 1 :(得分:0)

从过程代码正文中删除AS运算符。您的程序应该是

DELIMITER $$
CREATE OR REPLACE PROCEDURE add_comments
BEGIN
DECLARE var INT;
SELECT grade INTO var FROM table1;

    IF (var <= 7) THEN
        UPDATE table2 set comment = not_good;
    ELSE
        UPDATE table2 set comment = good;
    END IF;
END$$

有关详细信息,请参阅MySQL Documentation