




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验成绩数据库系统原理及应用实验报告六专业班级: 计算机科学与技术 学 号: 201116910233 姓 名: 范晓曈 指导教师: 苏小玲 2013年 11 月 21 日实验六名称: SQL Server存储过程 一、实验内容及要求1.使用输入参数存储过程的创建和执行任务1:查询学生的学号、姓名、选修的课程号、课程名、课程学分,将学生所在系作为输入参数,默认值为“软件工程系”。执行此存储过程,并分别指定一些不同的输入参数值,查看执行过程。2.修改视图任务1:查询指定系的男生人数,其中系为输入参数,人数为输出参数。执行此存储过程,并分别指定一些不同的输入参数值,查看执行过程。任务2:查询指定学生(姓名)在指定学期的选课门数和考试平均成绩,要求姓名和学期为输入参数,选课门数和平均成绩用输出参数返回,平均成绩保留到小数点后两位。3.使用返回代码存储过程的创建和执行任务1:查询指定学生(学号)的选课门数。如果指定学生不存在,则返回代码1;如果指定的学生没有选课,则返回代码2;如果指定学生有选课,则返回代码0,并用输出参数返回该学生的选课门数。4.使用实现对数据库修改、删除和插入操作的存储过程创建和执行任务1:删除指定学生(学号)的修课,如果指定的学生不存在,则显示提示信息“没有指定学生”;如果指定的学生没有选课,则显示提示信息“该学生没有选课”。学号为输入参数。任务2:修改指定课程的开课学期。输入参数为:课程号和修改后的开课学期。任务3:在course表中插入一行数据,课程号、课程名、学分、开课学期均为输入参数。课程号为C100、课程名为操作系统、学分为4、开课学期为4,开课学期的默认值为3。如果学分大于10或者小于1,则不插入数据,并显示提示信息“学分为110之间的整数”。二、实验目的掌握存储过程的创建和执行;掌握存储过程中输入参数和输出参数的设置和使用方法。3、 实验步骤及运行结果1.使用输入参数存储过程的创建和执行任务1:查询学生的学号、姓名、选修的课程号、课程名、课程学分,将学生所在系作为输入参数,默认值为“软件工程系”。执行此存储过程,并分别指定一些不同的输入参数值,查看执行过程。create procedure p_studentdeptdept char(20) =计科asselect s.sno,s.sname,o,cname,s.creditfrom student s inner join scon s.sno=sc.sno inner join Course c on o=owhere sdept=dept2.修改视图任务1:查询指定系的男生人数,其中系为输入参数,人数为输出参数。执行此存储过程,并分别指定一些不同的输入参数值,查看执行过程。create procedure p_numberofBoydept char(20),boynumber int outputasselect boynumber=COUNT(*) from Student where Ssex=男 and sdept=deptdeclare boynumber intexec p_numberofBoy 计科 ,boynumber outputprint boynumber declare boynumber intexec p_numberofBoy 电信 ,boynumber outputprint boynumber任务2:查询指定学生(姓名)在指定学期的选课门数和考试平均成绩,要求姓名和学期为输入参数,选课门数和平均成绩用输出参数返回,平均成绩保留到小数点后两位。create proc p_studentInfoname char(20),semester int,count_xk int output,avg_sscore float outputasselect count_xk=count(o) ,avg_sscore=Avg(sscore)from Student s join SC on s.Sno =SC.Sno join Course c on SC.Cno =c.Cnowhere s.Sname=name and c.Semester =semesterdeclare count_xk int,avg_grade float,avg_sscore decimalexec p_studentInfo 范晓曈,2,count_xk output,avg_sscore outputselect count_xk as 选课门数,avg_sscore as 平均成绩3.使用返回代码存储过程的创建和执行任务1:查询指定学生(学号)的选课门数。如果指定学生不存在,则返回代码1;如果指定的学生没有选课,则返回代码2;如果指定学生有选课,则返回代码0,并用输出参数返回该学生的选课门数。create proc p_countxknumber decimal,xk_number decimal outputasif not exists(select Sno from Student where Sno=number)return 1else if not exists(select Sno from SC where Sno=number)return 2elsebeginselect xk_number=COUNT(o) from SC where Sno =numberreturn 0Enddeclare xk_number1 intexec p_countxk 201116910233,xk_number1 outputprint xk_number14.使用实现对数据库修改、删除和插入操作的存储过程创建和执行任务1:删除指定学生(学号)的修课,如果指定的学生不存在,则显示提示信息“没有指定学生”;如果指定的学生没有选课,则显示提示信息“该学生没有选课”。学号为输入参数。create proc p_deleteid numericasif not exists(select * from Student where Sno=id)return 1if not exists(select * from SC where SC.Sno=id)return 2 elsereturn 0declare id numeric,ret intexec ret=p_delete 201116910232if ret =1 print 没有该学生!if ret =2 print 该学生没有选课!if ret =0 delete from SC where Sno=201116910232declare id numeric,ret intexec ret=p_delete 201116910222if ret =1 print 没有该学生!if ret =2 print 该学生没有选课!if ret =0 delete from SC where Sno=201116910222declare id numeric,ret intexec ret=p_delete 201116910211if ret =1 print 没有该学生!if ret =2 print 该学生没有选课!if ret =0 delete from SC where Sno=201116910211任务2:修改指定课程的开课学期。输入参数为:课程号和修改后的开课学期。create proc p_alterkc char(20),xq intasupdate course set semester=xq where cno=kcdeclare kc char(20),xq intexec p_alter C003,3 修改前: 修改后:任务3:在course表中插入一行数据,课程号、课程名、学分、开课学期均为输入参数。课程号为C100、课程名为操作系统、学分为4、开课学期为4,开课学期的默认值为3。如果学分大于10或者小于1,则不插入数据,并显示提示信息“学分为110之间的整数”。create proc p_insertkc_id varchar(20),kc_name varchar(20),xf decimal , xq intasif(xf = 1 and xf =10)begininsert course(cno,cname,credit,semester)values(kc_id,kc_name,xf,xq) endelseprint 学分要在110之间! declare kc_id varchar(20),kc_name varchar(20),xf decimal,xq intexec p_insert C006,操作系统,3.0,6declare kc_id char(20),kc_name char(20),xf decimal,xq intexec p_insert C007,毛概,11.0,4 4、 实验心得在这次实验中,我明白了,存储过程只在创造时进行编译即可,以后每次执行存储过程都不需再重新编译,而我们通常使用的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度,存储过程一般用来完成数据查询
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙教版九年级上册科学3.5物体的内能说课稿
- 本单元复习与测试说课稿-2023-2024学年小学信息技术(信息科技)三年级下册人教版
- 第8课 合作真快乐说课稿-2023-2024学年小学心理健康五年级上册川教版
- 快递员劳动用工协议(示范协议)5篇
- 2025年低空经济人才培养与无人机安全运营管理研究
- Dates and Times说课稿-2025-2026学年中职基础课-基础模块 1-外研版(2021)-(英语)-52
- 2025年长江中游城市群低空经济「飞地经济」模式区域特色产业发展报告
- 本册综合教学设计-2025-2026学年小学英语5B新概念英语(青少版)
- 2025年低空经济无人机设备升级与运维市场分析报告
- 第八课 今天我当小老师教学设计-2025-2026学年小学综合实践活动二年级下册人民版
- DB32T 5192-2025工业园区碳排放核算指南
- 2025年《高级汽车维修工》考试练习题及答案
- 农村小学安全培训知识课件
- 2025年工程项目管理试题及答案
- 人力资源部安全工作总结
- 桥梁工程技术总结报告合集
- 第6课 书衣之美说课稿初中美术沪书画版五四学制2024六年级上册-沪书画版五四学制2024
- 心血管疾病预防规定
- 2025-2030中国中药配方颗粒市场发展趋势与投资机会分析报告
- 屠宰场安全生产制度
- 2025简易个人劳动合同模板下载
评论
0/150
提交评论