好文档 - 专业文书写作范文服务资料分享网站

MySQL实验报告5(存储过程与函数)(1)(1)

天下 分享 时间: 加入收藏 我要投稿 点赞

四、实验内容及程序代码 1.sch数据表的表结构如表7.1所示,sch表的数据如表7.2。 表7.1 sch 表结构 字段名 id name class 数据类型 INT(10) VARCHAR(50) VARCHAR(50) 主键 是 否 否 外键 否 否 否 非空 是 是 是 唯一 是 否 否 自增 否 否 否 表7.2 sch 表的内容 id 1 2 name 李明 小梅 class C1 C2 1)建表sch并插入数据。 2)创建一个存储函数,用来统计表sch中的记录数。 delimiter $$ create PROCEDURE count_sch5(out size int) BEGIN select count(*) into size from sch; END $$ delimiter; 3)创建一个存储过程,通过调用存储函数的方法来获取表sch中的记录数和sch表中id的和。 delimiter $$

create PROCEDURE count_sch2(out s_a int,out s_id int) BEGIN select count(*) into s_a from sch; select sum(id) as s_id from sch; END $$ delimiter; 2.创建一存储过程insert_student_condition_user,利用自定义错误触发条件定义,当插入学生的性别不是“男”或“女”时结束存储过程,并提示“学生性别不正确”。 表7.3 student表结构 字段名 sno sname ssex Sage Sdept 数据类型 Char(10) VARCHAR(20) CHAR(2) smallint VARCHAR(30) 主键 是 否 否 否 否 否 外键 否 否 否 否 否 否 非空 是 是 是 是 是 是 唯一 是 否 否 否 否 否 自增 否 否 否 否 否 否 enterdate datetime delimiter $$ create PROCEDURE insert_student_condition_user(in sno int,in sname VARCHAR(20), in ssex varchar(2),in sage int,in sdept varchar(30)) BEGIN DECLARE continue handler for sqlstate '42S02' select '学生性别不正确'; if ssex='男' or ssex='女' THEN insert into student values(sno,sname,ssex,sage,sdept);

end if; end $$ delimiter; call insert_student_condition_user(1,'pqw','他',20,'C1'); call insert_student_condition_user(4,'pqw','1',20,'C1'); drop PROCEDURE insert_student_condition_user; 3.创建一存储过程update_student_borthyear,在学生表(表结构如表7.3)中添加字段”borthyear”(出生年份),在存储过程中利用游标,通过学生年龄计算出出生年份并修改表中对应字段。 create procedure update_student_borthyear(in s_no char(10)) BEGIN declare s_age char(10); declare state char(20); declare cur cursor for select sage from student; declare exit handler for 1329 set state='error'; open cur; REPEAT fetch cur into s_age; update student set borthyear=2018-s_age where sno=s_no; until state='error' end repeat; close cur; END call update_student_borthyear(201818); mysql语句对于大小写不敏感,所以在写的时候要注意区分,整整找了半个小时的错误。

MySQL实验报告5(存储过程与函数)(1)(1)

四、实验内容及程序代码1.sch数据表的表结构如表7.1所示,sch表的数据如表7.2。表7.1sch表结构字段名idnameclass数据类型INT(10)VARCHAR(50)VARCHAR(50)主键是否否外键否否否非空是是是唯一是否否自增否否否表7.2sch表的内容id12name李
推荐度:
点击下载文档文档为doc格式
75tf571ale37lyd0yjbf83hrt8bf8q008r9
领取福利

微信扫码领取福利

微信扫码分享