您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 20131120298-王定晓-实验三
1云南大学软件学院实验报告课程:数据库原理与实用技术任课教师:蔡莉实验指导教师(签名):学号:20131120298姓名:王定晓专业:软件工程日期:2013/4/18成绩:SQLServer实验3存储过程和触发器的使用一、实验目的(1)掌握创建和执行存储过程的方法。(2)掌握创建和执行触发器的方法二、实验内容注意:使用第二次实验中所创建的“Students”数据库来完成本实验。1、使用不带参数的存储过程(1)创建一个存储过程my_proc,查询“学生表”中所有计算机系女生的学号、姓名、性别、年龄和所在院系。CREATEPROCmy_procASselect学号,姓名,性别,所在院系FROM学生表WHERE性别='女'AND所在院系='计算机'(2)执行存储过程execmy_proc(3)修改存储过程,使其能够查询计算机系女生的所有基本信息ALTERprocmy_procASselect*FROM学生表WHERE性别='女'AND所在院系='计算机'2、带输入参数的存储过程(1)创建一个存储过程my_procgender,使其能够查询“学生表”中男学生或女学生的学号、姓名、性别、年龄和所在院系2CREATEprocmy_procgender@gendervarchar(2)ASselect学号,姓名,性别,年龄,所在院系FROM学生表WHERE性别=@gender(2)执行存储过程3、带输入/输出参数的存储过程(1)创建一个存储过程my_procclass,使其能够根据学生姓名,查询学生所在班级。(考虑当学生不存在时给出提示信息)CREATEprocmy_procclass@namevarchar(10),@ageintOUTPUTASIFEXISTS(select年龄from学生表where姓名=@name)BEGINSELECT@age=年龄FROM学生表where姓名=@namereturn-100ENDELSEreturn-101(2)执行存储过程declare@aintdeclare@bintexec@b=my_procclass@name='肖竹',@age=@aOUTPUTprint'返回值:'+convert(varchar(10),@b)IF(@b=-100)BEGIN3print'年龄:'+convert(varchar(10),@a)ENDELSEprint'未找到'4、返回状态值的存储过程(1)创建一个存储过程my_procstatus,使其能够根据学生学号,查询学生的选课信息。(如果没有输入学生学号,返回状态码55;如果输入的学生学号不存在,则返回状态码-155)createprocmy_procstatus@namevarchar(10),@coursevarchar(10)outputasif@name=''return55elsebeginifnotexists(select*from学生表where姓名=@name)return-155elseselect@course=课程名from课程表where课程号in(select课程号from成绩表where学号in(select学号from学生表where姓名=@name))end(2)执行存储过程:接收存储过程返回的状态码,如果返回的状态码为55则输出提示信息“没有输入学号!!”;如果返回的状态码为-155,则输出“没找到!!”。declare@aintdeclare@cvarchar(10)exec@a=my_procstatus@num=,@course=@coutputif@a=55print'没有输入学号'elsebeginif@a=-155print'没找到或未选课'elseprint'该学生选了'+convert(varchar(10),@c)end(3)删除存储过程dropprocmy_procstatus5、在成绩表中创建一个触发器。(1)修改成绩表,新增一个“备注”列,数据类型为char(10),给出修改的SQL语句。altertable成绩表add备注char(10)(2)在成绩表中创建一个名为mytrigger的触发器,当对该表录入成绩信息或修改成绩列时,如果分数小于60分,则将备注列的内容写为“不及格”。给出创建触发器的SQL语句。CREATETRIGGERmytrigger4ON成绩表FORInsert,UpdateASIFEXISTS(select成绩from成绩表where成绩60)UPDATE成绩表set备注='不及格'where学号in(select成绩from成绩表where成绩60)return(3)给出运行该触发器的一个SQL语句。UPDATE成绩表set成绩=55where学号=20023001
本文标题:20131120298-王定晓-实验三
链接地址:https://www.777doc.com/doc-3039641 .html