MYSQL语法错误创建存储过程

img


上面显示语法错误,我没看懂这个错误在哪里,和什么整体结构意思

以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:

这个错误是因为你在存储过程的定义中使用了SELECT INTO语句,但是语法不正确。正确的语法应该是在SELECT语句之前声明变量,然后使用SELECT语句将结果赋值给该变量。例如:

DELIMITER $$
CREATE PROCEDURE `sp_test`()
BEGIN
    DECLARE var1 INT;
    SELECT COUNT(*) INTO var1 FROM table_name;
END$$
DELIMITER ;

这样就可以正确地定义存储过程了。你可以根据自己的实际需求来修改这个例子。

可以查看我之前的存储过程:
https://blog.csdn.net/lydms/article/details/120383054

应该是IF语法使用不正确:

IF val IS NULL
    THEN SELECT 'val is NULL‘;
    ELSE SELECT 'val is NOT NULL';
END IF;

判断语法参考:


BEGIN
 
  IF 条件 THEN
      执行语句
  END IF;
 
END;




BEGIN
 
 IF 条件 THEN
    执行语句
 ELSE
    执行语句
 END IF;
 
END;