MySQL Workbench创建存储过程AS关键字语法报错求助
MySQL存储过程创建语法错误解决方案
报错的核心原因是你混用了SQL Server的T-SQL存储过程语法和MySQL语法:
- MySQL的
CREATE PROCEDURE语句要求即便无参数也必须带空括号()- MySQL存储过程语法不支持
AS关键字,要直接接BEGIN- 需要临时修改语句分隔符,避免存储过程内部的分号被MySQL提前识别为语句结束符,导致执行中断
修正后可正常执行的SQL代码如下:
-- 临时修改分隔符为//,避免内部分号提前结束语句 DELIMITER // CREATE PROCEDURE bike_names() BEGIN SELECT bike_name, cost FROM store.bikes_store ORDER BY bike_name; END // -- 改回默认分隔符; DELIMITER ;
- 存储过程创建完成后,执行
CALL bike_names();即可触发查询返回结果 - 若需要传入参数,可将参数定义在
()中,示例格式:CREATE PROCEDURE bike_names(IN min_cost INT) - 请提前确认
store库、bikes_store表、bike_name和cost字段的名称与你实际业务中的库表结构完全一致
内容的提问来源于stack exchange,提问作者Yogesh
相关产品推荐
相关产品推荐

