我有以下的程序:
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
无法找到问题,有人可以帮我解决这个问题吗? 谢谢!
答案 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