MySQL 8.0 中存储过程中的错误 1064

Error 1064 in a stored procedure in MySQL 8.0

我正在使用 MySQL Workbench 8.0 CE,我正在尝试创建一个存储过程来显示我的 table 中的 2 个字段。我收到以下错误:

Error Code: 1064. You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version 
for the right syntax to use near '' at line 3

这是我的 table:

CREATE TABLE student (
 id INT PRIMARY KEY,
 name VARCHAR(200),
 age INT,
 final_grade DOUBLE,
 sex VARCHAR(1)
)

这是程序:

CREATE PROCEDURE show_name_grade () 
 BEGIN
  SELECT name,final_grade FROM student;
END

您需要将 Delimiter 重新定义为 ; 以外的其他内容。最后,将其定义回 ;

DELIMITER $$
CREATE PROCEDURE show_name_grade () 
 BEGIN
  SELECT name,final_grade FROM student;
END $$
DELIMITER ;