2 tianzhaoai tianzhaoai 于 2015.06.18 00:47 提问

用MySql的Navicat创建存储过程总是报1458错误

下面是我穿件存储过程的代码。求大神帮忙看看。真心很急,明天就要用。

 create procedure searchStudentGrade(in id char)
 begin
     if id is null
         select  student.StudentID,student.StudentName,student.ClassNumber,grade.ExamID,course.CourseName,grade.Grade,course.CourseID
        from student,grade,course
        where student.StudentID=grade.StudentID and grade.CourseID=course.CourseID;
    else
        select student.StudentID,student.StudentName,student.ClassNumber,grade.ExamID,course.CourseName,grade.Grade,course.CourseID
        from student,grade,course
        where student.StudentID=grade.StudentID and grade.CourseID=course.CourseID and grade.StudentID=id;
    end if;
end;

2个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.18 01:06
已采纳
 create procedure searchStudentGrade(in id char)
 begin
     if id is null then 这里少了一个then吧
         select  student.StudentID,student.StudentName,student.ClassNumber,grade.ExamID,course.CourseName,grade.Grade,course.CourseID
        from student,grade,course
        where student.StudentID=grade.StudentID and grade.CourseID=course.CourseID;
    else
        select student.StudentID,student.StudentName,student.ClassNumber,grade.ExamID,course.CourseName,grade.Grade,course.CourseID
        from student,grade,course
        where student.StudentID=grade.StudentID and grade.CourseID=course.CourseID and grade.StudentID=id;
    end if;
end;
tianzhaoai
tianzhaoai 回复Code丶Robot: 谢谢大神啦。。
2 年多之前 回复
tianzhaoai
tianzhaoai 回复danielinbiti: 这样写还是不对,
2 年多之前 回复
tianzhaoai
tianzhaoai 回复danielinbiti: 这样写还是不对,
2 年多之前 回复
tianzhaoai
tianzhaoai 回复danielinbiti: 这样写还是不对,
2 年多之前 回复
tianzhaoai
tianzhaoai 回复danielinbiti: 这样写还是不对,
2 年多之前 回复
tianzhaoai
tianzhaoai 回复danielinbiti: 大神有时间没。有时间的话能不能Code一下啊。谢谢啦。看了那个动态拼接。真心是醉了。。
2 年多之前 回复
danielinbiti
danielinbiti 回复Code丶Robot: grade.StudentID=id,id不是字段是变量,这么写是有问题的。动态拼接执行,http://www.linuxidc.com/Linux/2011-08/40597.htm
2 年多之前 回复
tianzhaoai
tianzhaoai 保存的时候回报1064错误
2 年多之前 回复
tianzhaoai
tianzhaoai 加了。还是不行。
2 年多之前 回复
ycg514230
ycg514230   Rxr 2015.06.18 08:20

还有那里不对?报什么错?

tianzhaoai
tianzhaoai 好了、后来开了一下动态拼接,这个用动态拼接才可以的。谢谢啦。
2 年多之前 回复
tianzhaoai
tianzhaoai 好了、后来开了一下动态拼接,这个用动态拼接才可以的。谢谢啦。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片