You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建存储过程spInsertCategory遇语法错误,寻求技术协助

存储过程错误修正方案

核心错误点

  • 参数定义不符合数据库语法规范:如果是SQL Server环境,存储过程的参数必须以@开头,你写的category_name缺少前缀,数据库无法识别这是合法参数,因此触发语法错误。
  • 变量不匹配+INSERT语句不严谨:INSERT里用了@CategoryName,但参数名是category_name(部分数据库区分大小写);同时没指定要插入的列名,一旦表的列顺序或数量变化,这条语句就会出错。

针对SQL Server的修正代码

CREATE PROCEDURE spInsertNewCategory
    @category_name VARCHAR(50)
AS
BEGIN
    -- 显式指定列名,避免表结构变更带来的问题
    INSERT INTO Categories (CategoryName)
    VALUES (@category_name);
END

针对MySQL的修正代码

MySQL需要先修改语句分隔符,避免和存储过程内的分号冲突:

DELIMITER //
CREATE PROCEDURE spInsertNewCategory(category_name VARCHAR(50))
BEGIN
    INSERT INTO Categories (CategoryName)
    VALUES (category_name);
END //
DELIMITER ;

调用方法

SQL Server

EXEC spInsertNewCategory '你的分类名称';

MySQL

CALL spInsertNewCategory('你的分类名称');

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:20:48