欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年实验六使用T-SQL编写存储过程访问数据库 2.pdf

    • 资源ID:42697726       资源大小:43.60KB        全文页数:5页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年实验六使用T-SQL编写存储过程访问数据库 2.pdf

    1 一 实验目的1.理解存储过程的概念、使用方式;2.熟悉使用 T-SQL编写存储过程来进行数据库应用程序的设计。二 实验工具 SQL Server 2005 利用 SQL Server 2005 SSMS 及其 SQL 查询编辑器,使用T-SQL 编写存储过程。三 实验内容和要求建立学生-课程数据库,其中包含学生表 Student(Sno,Sname,Ssex,Sage,Sdept)、课程表:Course(Cno,Cname,Cpno,Ccredit)和学生选课表:SC(Sno,Cno,Grade);编写相应的存储过程,完成下面的功能:(1)编写一个存储过程,可以查询指定系的学生的选课信息,列出学号、姓名、所在系、课程名和成绩等内容。调用该存储过程,测试执行结果。(2)编写一个存储过程,返回指定课程的平均分。调用该存储过程,测试执行结果。(3)编写一个存储过程,可以查询指定系指定成绩等级的学生的选课信息,列出学号、姓名、所在系、课程名和成绩等内容。调用该存储过程,测试执行结果。(成绩等级为优、良、中、及格、不及格,其中成绩在90 分到 100 分之间为优,在 80 分到 89 分之间为良,在 70 分到 79 分之间为中,在 60 分到69 分之间为及格,在 0 分到 59分之间为不及格。)要求:提交创建存储过程的SQL 脚本,并标识必要的注释。保证程序能够正确编译和运行,并有相应的测试代码。四 实验报告4.1 实验环境:4.2 实验内容与完成情况:createdatabase zhangsy-Drop database zhangsy go use zhangsy-创建三个表,分别是学生表,课程表和学生选课表;名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -2 CREATETABLE Student (Sno char(10)PRIMARYKEY,Sname char(10)NOT NULL,Ssex char(2)CHECK(Ssex=男OR Ssex=女),Sage tinyintCHECK(Sage=15 AND Sage 0),Period intCHECK(Period 0),PRIMARYKEY(Cno)go CREATETABLE SC (Sno char(10)NOT NULL,Cno char(4)NOT NULL,Grade tinyint,CHECK(Grade=0 and Grade=100),PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCES Student(Sno),FOREIGNKEY(Cno)REFERENCES Course(Cno)go-分别向这三个表中插入数据;Insertinto student values(2006010101,张扬 ,男,19,default)Insertinto student values(2006010102,李勇 ,男,21,default)Insertinto student values(2006010103,王小 ,男,20,数学系 )Insertinto student values(2006010104,赵娣 ,女,18,外语系 )Insertinto student values(2006010105,刘柳 ,女,19,外语系 )go update student set sname=王小 where sno=2006010103 select*from student go Insertinto Course values(J001,TC,2,32)Insertinto Course values(J002,VB,2,32)名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -3 Insertinto Course values(J003,VC,2,32)Insertinto Course values(J004,计算机文化基础,2,32)go select*from course go Insertinto SC values(2006010101,J001,85)Insertinto SC values(2006010101,J002,80)Insertinto SC values(2006010101,J003,78)Insertinto SC values(2006010101,J004,90)Insertinto SC values(2006010102,J001,75)Insertinto SC values(2006010102,J002,60)Insertinto SC values(2006010102,J003,77)Insertinto SC values(2006010102,J004,92)Insertinto SC values(2006010103,J001,85)Insertinto SC values(2006010103,J003,90)Insertinto SC values(2006010104,J004,89)Insertinto SC values(2006010105,J004,76)Go select*from sc Go-查询课程的平均分createprocedure sp_avggrade cname varchar(20)=TC,avg intoutput as select avg=avg(grade)from sc,course where o=o and ame=cname if avg=0 print 没有学生选此门课 else return avg go Declare avgGrade int EXECUTE sp_avggrade avg=avgGrade Output PRINT avgGrade Declare avgGrade int EXECUTE sp_avggrade VB,avg=avgGrade Output PRINT avgGrade 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -4 Declare avgGrade int EXECUTE sp_avggrade VC,avg=avgGrade Output PRINT avgGrade Declare avgGrade int EXECUTE sp_avggrade 计算机文化基础,avg=avgGrade Output PRINT avgGrade-查询指定系的学生的学号,姓名,所在系,课程名和成绩CreateProcedure sp_DispSC_Sdept sdept varchar(20)=计算机系 AS Select S.sno,S.sname,S.Sdept,C.Cname,SC.grade From Student S LeftJoin SC on S.sno=SC.sno LeftJoin Course C on SC.Cno=C.cno where Sdept=sdept Go EXECUTE sp_DispSC_Sdept EXECUTE sp_DispSC_Sdept 信息系 EXECUTE sp_DispSC_Sdept sdept=数学系 10-3-查询指定系,指定成绩等级的学生的学号,姓名,所在系,课程名和成绩CreateProcedure sp_DispSC_Dept_Level sdept varchar(20)=计算机系 ,GradeLevel varchar(6)AS Declare SQLText varchar(200),GradeStr varchar(30)Set SQLText=Select S.sno,S.sname,S.Sdept,C.Cname,SC.grade From Student S Left Join SC on S.sno=SC.sno Left Join Course C on SC.Cno=C.cno Set GradeStr=CaseWhen GradeLevel=优thenbetween 90 And 100 When GradeLevel=良thenbetween 80 And 89 When GradeLevel=中thenbetween 70 And 79 When GradeLevel=及格 thenbetween 60 And 69 When GradeLevel=不及格 thenbetween 0 And 59 When GradeLevel ISNULLthenIS NULL ElseLevelErrorend IF GradeStr=LevelErrorprint 错误:输入的成绩等级不符合要求!名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -5 Else Execute(SQLText+where Sdept=+sdept+And Grade +GradeStr)GO EXECUTE sp_DispSC_Dept_Level GradeLevel=优 Execute SP_DispSC_Dept_Level 信息系 ,优 EXECUTE sp_DispSC_Dept_Level default,GradeLevel=优4.3 出现的问题:在调用查询课程的平均分的存储的时候出现了问题,提示avg 没有赋值4.4 解决方案(列出遇到的问题和解决办法,列出没有解决的问题):命名一个对象 avgGrade把avg传给它就可以得到结果。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -

    注意事项

    本文(2022年实验六使用T-SQL编写存储过程访问数据库 2.pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开