mysql--期中测试.doc_第1页
mysql--期中测试.doc_第2页
mysql--期中测试.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

存储过程、存储函数、触发器复习题学生信息表课程表成绩表1、 创建一个存储过程,按专业和性别查询学生的信息。delimiter $create PROCEDURE select_by_pro_sex(IN pro char(10),IN sex char(2)BEGINselect * from student where stupro=pro and stuSex=sex;END$delimiter; call select_by_pro_sex(计算机,男);2、 创建一个存储过程,向课程表中插入一门课程的信息,用带参的存储过程实现delimiter $create PROCEDURE pro_insert(IN kid CHAR(3),IN kname char(16),IN kterm INT,IN ktime INT, IN kcredit INT)BEGINinsert into kc VALUES(kid,kname,kterm,ktime,kcredit);END$delimiter;CALL pro_insert(104,mysql,2,80,6);3、 创建一个存储过程,统计某一个专业学生的人数,若人数大于100人则给用户变量 str赋值为“大专业”,否则赋值为“小专业”,在测试存储过程时输出用户变量的值。delimiter #create PROCEDURE pro_renshu(in renshu int ,out str char(6)BEGIN if renshu100 then set str=大专业; ELSE set str=小专业; end if;END #delimiter ;set str=null;CALL pro_renshu(101,str);SELECT str;4、 创建一个存储过程,有两个输入参数:学号和课程名,要求当某学生某门课程的成绩小于60分时将其学分修改为零,大于等于60分时将学分修改为此课程的学分。DELIMITER $CREATE PROCEDURE XSCJ.DO_UPDATE(IN XH CHAR(6), IN KCM CHAR(16)BEGIN DECLARE KCH CHAR(3); DECLARE XF TINYINT; DECLARE CJ TINYINT; SELECT 课程号, 学分 INTO KCH, XF FROM KC WHERE 课程名=KCM; SELECT 成绩 INTO CJ FROM XS_KC WHERE 学号=XH AND 课程号=KCH; IF CJ=60,总学分加上该课程的学分。否则总学分不变。DELIMITER $CREATE TRIGGER tr_ss AFTER INSERTON Score FOR EACH ROWBEGINDECLARE XF INT(1);SELECT kcCredit INTO XF FROM KC WHERE kcId=NEW.kcId;IF NEW.kcScore =60 THENUPDATE student SET

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论