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

上传人:苏美尔 文档编号:5694593 上传时间:2020-07-22 格式:DOC 页数:4 大小:82KB
返回 下载 相关 举报
MySQL实验报告5(存储过程与函数)(1)(1).doc_第1页
第1页 / 共4页
MySQL实验报告5(存储过程与函数)(1)(1).doc_第2页
第2页 / 共4页
MySQL实验报告5(存储过程与函数)(1)(1).doc_第3页
第3页 / 共4页
MySQL实验报告5(存储过程与函数)(1)(1).doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《MySQL实验报告5(存储过程与函数)(1)(1).doc》由会员分享,可在线阅读,更多相关《MySQL实验报告5(存储过程与函数)(1)(1).doc(4页珍藏版)》请在三一文库上搜索。

1、四、实验内容及程序代码1.sch数据表的表结构如表7.1所示,sch表的数据如表7.2。表7.1 sch 表结构字段名数据类型主键外键非空唯一自增idINT(10)是否是是否nameVARCHAR(50)否否是否否classVARCHAR(50)否否是否否表7.2 sch 表的内容idnameclass1李明C12小梅C21)建表sch并插入数据。2)创建一个存储函数,用来统计表sch中的记录数。delimiter $create PROCEDURE count_sch5(out size int)BEGINselect count(*) into size from sch;END$deli

2、miter;3)创建一个存储过程,通过调用存储函数的方法来获取表sch中的记录数和sch表中id的和。delimiter $create PROCEDURE count_sch2(out s_a int,out s_id int)BEGINselect count(*) into s_a from sch;select sum(id) as s_id from sch;END$delimiter;2.创建一存储过程insert_student_condition_user,利用自定义错误触发条件定义,当插入学生的性别不是“男”或“女”时结束存储过程,并提示“学生性别不正确”。表7.3 stud

3、ent表结构字段名数据类型主键外键非空唯一自增snoChar(10)是否是是否snameVARCHAR(20)否否是否否ssexCHAR(2)否否是否否Sagesmallint否否是否否SdeptVARCHAR(30)否否是否否enterdatedatetime否否是否否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)BEGINDECLARE continue h

4、andler for sqlstate 42S02 select 学生性别不正确;if ssex=男 or ssex=女 THENinsert 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.创建一存储过程updat

5、e_student_borthyear,在学生表(表结构如表7.3)中添加字段”borthyear”(出生年份),在存储过程中利用游标,通过学生年龄计算出出生年份并修改表中对应字段。create procedure update_student_borthyear(in s_no char(10)BEGINdeclare 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;REPEATfetch cur into s_age;update student set borthyear=2018-s_age where sno=s_no;until state=errorend repeat;close cur;ENDcall update_student_borthyear(201818);mysql语句对于大小写不敏感,所以在写的时候要注意区分,整整找了半个小时的错误。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1