delimiter // CREATE FUNCTION c() RETURN INT BEGIN RETURN ( SELECT COUNT(*) FROM student ); END // delimiter ;为什么报错
时间: 2024-05-09 12:15:49 浏览: 103
(mysql面试题)MySQL中的存储过程和触发器的概念及其作用及代码展示.txt
这是因为您在函数定义的第一行使用了 `delimiter //`,而在函数的最后一行又使用了 `delimiter ;`,导致 MySQL 无法正确解析函数定义的结束位置。
正确的写法应该是:
```
delimiter //
CREATE FUNCTION c() RETURNS INT
BEGIN
RETURN (SELECT COUNT(*) FROM student);
END //
delimiter ;
```
在这里,我们在函数定义的第一行使用 `delimiter //`,表示在接下来的语句中,MySQL 应该将 `//` 视为语句结束的标志,而不是默认的 `;`。在函数定义结束的最后一行,我们使用 `delimiter ;` 来将分隔符恢复为默认值,以便之后的语句可以正确执行。
阅读全文