



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广东金融学院实验报告课程名称:数据库原理与应用实验编号及实验名称实验三数据库高级应用实验系 别计科系姓 名学 号班 级实验地点新电1101实验日期2014 年05 月14 日 实验时数8指导教师同组其他成员无成 绩一、实验目的及要求1、 掌握SQL Server存储过程的定义和使用。2、 掌握SQL Server触发器的定义和使用。二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)1、计算机操作系统要求在windows XP以上。2、并要求SQL Server 软件2000以后版本。三、实验内容及要求 利用实验指导书中的关系数据库完成下面题目:1、说明下面代码段的功能 SELECT tname as 姓名,tSex as 性别,case trankwhen 教授 then 高级职称when 讲师 then 中级职称else初级职称endfrom teacher答:在教师表中选取姓名和性别两列,并给每个教师分等级;2、完成下面代码的书写计算student_course表的平时分数列的平均值。如果小于80,则分数增加其值的5%;如果分数的最高值超过95,则终止该操作。在以下代码划线处填入适当的内容以完成上述功能。WHILE (SELECT_avg_(NormalMark) FROM student_course)_95_ BREAKELSE_ UPDATE student_courseSET NormalMark = NormalMark *1.05 END注意:实验前要先给所有同学的NormalMark赋一个初值,比如50。3、根据要求完成下列题目1) 编写一个触发器:在添加期末成绩信息时,利用平时成绩、其中成绩和期末成绩来计算成绩总评。如果没有期中成绩,则平时和期末成绩比重为2:8,如果有期中成绩,则平时、期中、期末三者比重为2:2:6。答:在student_course表中添加一列summark期末成绩,而exammark作为期中成绩,mark作为期末成绩;create trigger get_summark2 on student_coursefor insertasDeclare sno varchar(10),ccno char(10)Declare nmark intDeclare emark intDeclare fmark intSelect nmark=NormalMark,emark=exammark,fmark=mark,sno=sno,ccno=ccno from student_courseif not exists(select exammark from student_course where sno=sNO and ccno=ccNO )begin update student_course set sumMark = convert(int,(nmark * 0.2) + (fmark * 0.8)endelsebegin update student_course set sumMark = convert(int,(nmark * 0.2) + (eMark * 0.2)+ (fmark * 0.6)end2)创建一个带输入参数和输出参数的存储过程,要求实现如下功能:输入学生学号,然后输出学生的选课门数、平均分以及所选学分。答: create procedure c( sno char(10),cnocount int output,avgmark float output,sumcredit int output)Asbegin select cnocount=count(*),avgmark=avg(mark),sumcredit=sum(credit) From student_course sc,course_class cc ,student s where sc.sno=s.sno and cc.ccno=sc.ccno group by s.sNO,snameend3)调用2小题中的存储过程,并分别获得输出相关信息。答: Declare ccount intDeclare smark floatDeclare scredit intExec c 081220101 , ccount output, smark output, scredit outputSelect 081220101 as 学生号, ccount as 选课门数, smark as 平均分,scredit as 所选学分结果:警告: 聚合或其他SET 操作消除了Null 值。学生号 选课门数 平均分 所选学分- - - -081220101 6 69 22(1 行受影响) 4、思考题 1)存储过程和触发器的异同点?答: 触发器与存储过程的区别: 触发器与存储过程的主要区别在于触发器的运行方式。存储过程必须有用户、应用程序或者触发器来显示的调用并执行,而触发器是当特定时间出现的时候,自动执行或者激活的,与连接用数据库中的用户、或者应用程序无关。当一行被插入、更新或者删除时触发器才执行,同时还取决于触发器是怎样创建的,当UPDATE发生时使用一个更新触发器,当INSERT发生时使用一个插入触发器,当DELETE发生时使用一个删除触发器。触发器与存储过程的相同: 触发器与存储过程非常相似,都是SQL语句集五、实验总结(包括心得体会、问题回答及实验改进意见)通过本次试验,基本掌握SQL Server存储过程的定义和使用,也掌握SQL Server触发器的定义和使用。六、教师评语1、完成所有的实验内容,实验步骤和实验结果基本正确。2、至少完成主要的实验内容,实验步骤和实验结果基本正确。3、仅完成部分的实验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源汽车智能网联化用户付费意愿调研报告2025
- 2025年固态电池在电动汽车电池全球市场布局与竞争格局报告
- 2025企业与合作方签订股权抵押担保合同
- 六方氮化硼特点
- 2025新上海合同范本
- 离婚协议中关于个人债权债务处理参考样例
- 时尚街区商铺租赁合同模板(含品牌形象维护)
- 桥梁工程砌体与高性能抹灰劳务分包协议
- 跨境电商外资股权投资与运营模式合作协议
- 石油期货交易及实物交割采购合同
- DBJ50-T-157-2022房屋建筑和市政基础设施工程施工现场从业人员配备标准
- 直播责任自负书
- 情绪压力管理-情绪压力管理课件
- 2023年太原市第二热力有限责任公司招聘笔试题库及答案解析
- 万科物业管理服务工作手册
- 简单的电动车代理合同模板
- DDI辅导员工迈向成功-辅导领导力系列
- 竞选大学心理委员ppt模板
- 煤矿井筒装备安装方案
- T∕CEPPEA 5008-2021 城市电缆线路岩土工程勘察规范_
- 人教版八年级上册物理期末复习:多选题专项练习题汇编[含答案]]
评论
0/150
提交评论