delimiter // CREATE FUNCTION c() RETURN INT BEGIN RETURN ( SELECT count(*) FROM student); END //为什么报错
时间: 2024-05-07 12:22:03 浏览: 145
EDA/PLD中的LabVIEW的写入电子表格文件
这段代码是 MySQL 存储过程的语法,而您在使用分号作为语句的结束符。因此,当 MySQL 执行到第一个分号时,它会认为这个存储过程已经结束了,而不是继续执行下去。所以会报错。
要解决这个问题,您需要将分号替换为自定义的结束符,例如 “//”。您可以尝试使用以下代码:
```
delimiter //
CREATE FUNCTION c() RETURN INT
BEGIN
RETURN (
SELECT COUNT(*) FROM student
);
END //
delimiter ;
```
在这里,我们使用 `delimiter` 命令来将结束符改为 `//`,并在存储过程的结尾处使用相同的结束符。这样 MySQL 就知道了整个存储过程的代码是什么,而不会将其中的分号误解为结束符。
阅读全文