mysql--期中测试.doc

上传人:11****ws 文档编号:2992808 上传时间:2019-05-16 格式:DOC 页数:3 大小:59KB
下载 相关 举报
mysql--期中测试.doc_第1页
第1页 / 共3页
mysql--期中测试.doc_第2页
第2页 / 共3页
mysql--期中测试.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、存储过程、存储函数、触发器复习题学生信息表课程表成绩表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

2、_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 PROCE

3、DURE pro_renshu(in renshu int ,out str char(6)BEGINif 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 C

4、HAR(6), IN KCM CHAR(16)BEGINDECLARE 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 stuScore =stuScore +XF WHERE stuNo=NEW.stuNo;END IF;END$DELIMITER ;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。