一、实验目的

· 加深和巩固对存储过程概念的理解。

· 掌握存储过程的简单应用。

二、实验内容

1. 创建一存储过程,求l 2 3 … n,并打印结果。

mysql存储过程怎么用(Mysql存储过程)(1)

输入为n,结果为0。

mysql存储过程怎么用(Mysql存储过程)(2)

2.调用上面的addresult存储过程,打印l 2 3 … 10的结果。

mysql存储过程怎么用(Mysql存储过程)(3)

mysql存储过程怎么用(Mysql存储过程)(4)

3. 修改上述存储过程为addresult1,使得n为输入参数,其具体值由用户调用此存储过程时指定。

Mysql存储过程只能改名字和定义,不能改里面的内容。

要删了重新建。

这里选择的是直接重新建一个存储过程addresult1,而不是在addresult的基础上修改为addresult1。

mysql存储过程怎么用(Mysql存储过程)(5)


4.调用上面修改后的addresult1存储过程,打印l 2 … 100的结果。

mysql存储过程怎么用(Mysql存储过程)(6)

mysql存储过程怎么用(Mysql存储过程)(7)


5.修改上述存储过程为addresult2,将n参数设定默认值为10,并改设sum为输出参数,让主程序能够接收计算结果。

mysql存储过程怎么用(Mysql存储过程)(8)


6.调用上面修改后的addresult2存储过程,设置变量接收计算l 2 3 … 10的结果。

mysql存储过程怎么用(Mysql存储过程)(9)

mysql存储过程怎么用(Mysql存储过程)(10)


7.创建一存储过程Proc_Student,用于显示学号为"0102"的学生基本信息(包括学号、姓名、性别和系)。

mysql存储过程怎么用(Mysql存储过程)(11)

mysql存储过程怎么用(Mysql存储过程)(12)

8.创建一存储过程Stu_grade,通过读取某门课的编号,求出不及格的学生的学号。

mysql存储过程怎么用(Mysql存储过程)(13)

9.调用上面的存储过程Stu_grade,求出课程编号为"0101"的不及格的学生。

mysql存储过程怎么用(Mysql存储过程)(14)

mysql存储过程怎么用(Mysql存储过程)(15)

10.创建一存储过程avgGrade,通过读取学生的学号,以参数形式返回该学生的平均分。

mysql存储过程怎么用(Mysql存储过程)(16)


11.调用上面的存储过程avgGrade,求出学号为"990102014"的平均分。

mysql存储过程怎么用(Mysql存储过程)(17)

mysql存储过程怎么用(Mysql存储过程)(18)

mysql存储过程怎么用(Mysql存储过程)(19)

12.删除上述存储过程avgGrade。

mysql存储过程怎么用(Mysql存储过程)(20)

13.创建存储过程search,该存储过程有三个参数,分别为t、p1,p2,根据这些参数,找出书名与t有关,价格在p1与p2(p2>=p1)之间的书的编号,书名,价格,出版日期。如果用户调用时没有指定t参数的值.则表示可为任意值,如用户没有指定p2,则书本价格没有上限。用到的关系为:titles (title_id,title,price,pubdate)。

mysql存储过程怎么用(Mysql存储过程)(21)

mysql存储过程怎么用(Mysql存储过程)(22)

14.调用上面的存储过程search,求出书名与computer有关,而且价格小于$20大于$10的书。

mysql存储过程怎么用(Mysql存储过程)(23)

mysql存储过程怎么用(Mysql存储过程)(24)

mysql存储过程怎么用(Mysql存储过程)(25)

,