^0^126 2023-04-02 17:20 采纳率: 0%
浏览 6

数据库创建存储过程语法错误,如何解决?

题目:创建存储过程 P4,输入某课程名,查询该课程的平均分,选课人数并输出之。运行之


CREATE PROCEDURE P4(IN course_name VARCHAR(30), OUT avg_grade DECIMAL(4,1), OUT num_students INT)
BEGIN
    SELECT AVG(grade) INTO avg_grade, COUNT(sno) INTO num_students
    FROM sc join cou on cou.CNO =sc.CNO 
    WHERE cname=course_name
    group by sc.cno
END

img


 一直说语法错误但是感觉没有错啊

  • 写回答

3条回答 默认 最新

  • 不争之德 2023-04-02 18:02
    关注

    应该是因为你的代码没有定义分隔符,所以无法正常运行吧,下面我给了一个存储过程的代码结构,可以看到需要用delimiter定义一个分隔符,这个例子用的是“$", 你也可以用别的。 存储过程的代码在分隔符的包裹中。

    delimiter  $
    CREATE PROCEDURE 存储过程名称(入参的名称和类型)
    BEGIN
       代码主体
    END$
    delimiter ;
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月2日

悬赏问题

  • ¥15 使用docker安装chemex后无法启动
  • ¥15 关于#vue.js#的问题:word excel和ppt预览问题语言-javascript)
  • ¥15 Apache显示系统错误3该如何解决?
  • ¥30 uniapp小程序苹果手机加载gif图片不显示动效?
  • ¥20 js怎么实现跨域问题
  • ¥15 C++dll二次开发,C#调用
  • ¥15 请教,如何使用C#加载本地摄像头进行逐帧推流
  • ¥15 Python easyocr无法顺利执行,如何解决?
  • ¥15 为什么会突然npm err!啊
  • ¥15 java服务连接es读取列表数据,服务连接本地es获取数据时的速度很快,但是换成远端的es就会非常慢,这是为什么呢