MySQL存储过程练习

  • 格式:docx
  • 大小:362.72 KB
  • 文档页数:9

下载文档原格式

  / 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

存储过程实验

一、实验要求:

1.理解存储过程的概念

2.掌握存储过程的语法格式、使用方法

3.掌握存储过程的创建、执行

二、实验内容:

(注意:做一下实验需要首先建立数据及其相应的表,并输入一些记录)

1.实验1:创建一个存储过程,实现查询表student中的记录信息,并执行存储过

(1)创建存储过程: begin

select * from student

end

(2)执行存储过程:运行 sp_liststudent

(3)执行结果如下:

2.实验2.创建一个存储过程,根据给定的学生学号返回该学生的姓名

(1)创建存储过程:

CREATE PROCEDURE test5( IN id int)

BEGIN

SELECT * from student s WHERE s.id=id;

END

(2)执行存储过程:CALL test5(2)

执行结果如下:

3.实验3. 创建一个存储过程,根据班级的编号,统计该班人数,并将人数以输出

变量返回给用户。

(1)创建存储过程:

CREATE PROCEDURE test00( IN roomid int)

BEGIN

SELECT COUNT(*) from student s WHERE s.roomid=9;

END

(2)执行存储过程:CALL test00(2)

(3)执行结果如下:

4.实验4:创建一个存储过程查询学号为“020101”的学生的平均分是否超过了85

分,若超过则输出“ X X 考出了高分”,否则输出“XX 考的一般”。(1)创建存储过程:

CREATE PROCEDURE test05()

BEGIN

IF (SELECT score from student WHERE id=1)>85 THEN

SELECT '考得好';

ELSE

SELECT '考得不好';

END IF;

END

(2)执行存储过程: CALL test05()

(3)执行结果如下:

实验5. 创建一个存储过程,对表student增加两条记录,

(1)创建存储过程:

CREATE PROCEDURE test07()

BEGIN

INSERT INTO student VALUES('4','马','4','1','100');

INSERT INTO student VALUES('5','苏','5','0','90');

SELECT * FROM student;

END

(2)执行存储过程:CALL test07()

(3)执行结果如下:

实验6. 请撰写一个存储过程:输出各班学生的平均成绩(1)创建存储过程:

CREATE PROCEDURE test10()

BEGIN

SELECT AVG(score) from student WHERE roomid=9;

END

(2)执行存储过程:CALL test10()

(3)执行结果如下

5. 实验7. 请撰写一个存储过程:能根据用户输入的学号,输出学生的姓名、年龄

到两个参数变量中,以供其它程序使用。

(1)创建存储过程:

CREATE PROCEDURE test08(IN id INT) BEGIN

SELECT sex,score from student s WHERE s.id=id; END

(2)执行存储过程:CALL test08(1) (3)执行结果如下

6.实验8. 请撰写一个存储过程,求1+2+3+…100的值。