首页 2版数据库试验11存储过程触发器及答案

2版数据库试验11存储过程触发器及答案

举报
开通vip

2版数据库试验11存储过程触发器及答案实验十一存储过程与触发器一、实验目的及要求本实验主要目的是掌握存储过程的创建及使用方式、触发器的创建,具体要求有:理解存储过程的概念及类型,深刻理解存储过程的优点。掌握创建各种存储过程的方法,掌握调用存储过程的方法。理解触发器的概念与类型。理解触发器的功能及工作原理。掌握创建、更改、删除触发器的方法。理解利用触发器维护数据完整性的方法。二、实验原理及背景知识(一)存储过程知识存储过程是一种数据库对象,将执行计划存储在数据库服务器中。它的运行速度比独立运行同样的程序要快。1、存储过程类型(1)系统存储过程存储在mas...

2版数据库试验11存储过程触发器及答案
实验十一存储过程与触发器一、实验目的及要求本实验主要目的是掌握存储过程的创建及使用方式、触发器的创建,具体要求有:理解存储过程的概念及类型,深刻理解存储过程的优点。掌握创建各种存储过程的方法,掌握调用存储过程的方法。理解触发器的概念与类型。理解触发器的功能及工作原理。掌握创建、更改、删除触发器的方法。理解利用触发器维护数据完整性的方法。二、实验原理及背景知识(一)存储过程知识存储过程是一种数据库对象,将执行 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 存储在数据库服务器中。它的运行速度比独立运行同样的程序要快。1、存储过程类型(1)系统存储过程存储在master数据库中,其名称以sp_为前缀。可以在其他数据库中调用。(2)用户自定义存储过程由用户创建并能完成某一特定功能的存储过程,也称本地存储过程。2、创建存储过程存储过程的三个组成部分:1)所有的输入参数以及传给调用者的输出参数。2)被执行的针对数据库的操作语句,包括调用其他存储过程的语句。3)返回给调用者的状态值,以指明调用是成功还是失败。3、T-SQL创建存储过程的基本语法格式CREATEPROCEDURE]存储过程名称参数定义ASSQL语句(二)触发器知识触发器是一种特殊类型的存储过程,主要通过事件进行触发执行的。可以实现由主键和外键所不能保证的参照完整性和数据一致性;强化约束;跟踪变化;级联运行;存储过程的调用等功能。1、触发器的种类(1)AFTER触发器:只有对表执行某一操作后,才能被触发。可以为表的同一操作定义多个触发器,其触发次序可使用sp_settriggerorder来完成。(2)INSTEADOF触发器:不执行其触发操作,仅执行触发器本身,对同一触发操作只能定义一个INSTEADOF触发器。2、Inserted插入一行时,删除一行时,更新一行时,和Deleted临时表表保存了一份插入行的拷贝。Deleted表保存了删除行的拷贝。Inserted表中保存了一份新行的拷贝,Deleted表中保存了一份旧行的拷贝。3、语法格式CREATETRIGGER触发器名称ON表或视图{FOR|AFTER|INSTEADOF}数据库原理与应用实验教材{[DELETE],[INSERT],[UPDATE]}ASSQL语句三、实验内容及步骤(一)存储过程的创建和执行1、创建下列存储过程并执行,然后 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 其功能。(1)创建CREATEFROCList^student_departunentgdepartmentchar20^J站BEGINSELECTsNosNamesSexsNativemNainedNameFROMstudentmajordepartment醫t口dentmNomajor.mNoMDmajordNodepartmentdMoWHEREH.二:.ciNaiiie=S1J£L22JLOI'-'D31205LJ(?6')SELECT*FROMstucreditWHERIsNo=r02L220101'答:⑴.snosnamecourseCOUNTsumCredit吴明3171(2).消息,级别,状态,第1行2627141违反了PRIMARYKEY约束'PK_student_course'。不能在对象’dbo.student_course'中插入重复键。语句已终止。3、INSTEADOF触发器(1)为开课表增加一个字段,标识课程是否有效,值1为有效,值0为无效。典匚TERTA3LEcourseclassADDvalidity匕丄匸DEFAULT£1)GOUPDATE8口rseclassSETvalidity=1(2)创建一个触发器,当删除课程时并不真正删除数据,而是将要删除的开课课程标志为无效,同时删除已选课学生。CREATET貨工GGrZRtrigOlcourseclassON住。口rse_classINSTEADOFDELETEAS3EGINDECLARE@ccnochar(10SELECT@ccno-ccNcFROMDeletedUPDATZcourse_classSETvalidity0WHEREccNo=Gcano-4-数据库原理与应用实验DELETEFROMstudentcourseWHEREccNo^GccnoEND分别执行下列语句并进行验证。SELECTccccNcvaliditysNomarkFROMcourseclasscc-EFT/'INstudentcoursescLWHEREccccNo-120100202011GODELETEFROMcourse_alassWHERECCNO^^OIODZO^JI'GOSELECTccccNovaliditysNomarkFROMcourse_classccLEFTstudent_coursesaDMccccNo-sc.coNoWHEREac.acNo=r122L0C-202C-1(四)触发器编程1、创建触发器实现当修改学生表的平时成绩或期末考试成绩时自动计算总评成绩,按照2:8进行计算。CREATETRIGGERtrig02_student_courseON__________________A5BEGINDECLAREOnMark.float@eMarkfloatDECLARE@snovarchaxdO:@ccnochax[10)SELECT@nmarkNonnalMark.@emarkExami^ark@sno-sNo@ccnQ-ccNoFROMInsertedUPDATEst;口dent_co口"旨SETmark-^Cin.^RTtint@nmark*0,2-@emark'0.8}WHEREsNo-@sno'JIccNo-@ccnoEND答student_courseforinsert2、依次运行下列语句并进行验证。-5-第二篇实验内容及安排SELECT*FROMstndent_co口USEWHEREsNo=p031220101*ANDGOccNo-'03120910D?,UPDATEstudent_courseSETWHEREsNo-1091250101*/JWNormaLMark-00EexamMark-90SELECT+FROMstudent_co口rs亡闻HERE3No=l0=122CC0L-ANDcoNo=*0312091006*答:sNOccNONormalMarkExamMarkMarkNULL9088sNOccNONormalMarkExamMarkMark809088四、实验测验1、创建一个带输入参数和输出参数的存储过程,要求实现如下功能:输入学生学号,输出学生的选课门数、平均分以及所选总学分。答:createprocedurec(@snochar(10),@cnocountintoutput,@avgmarkfloatoutput,@sumcreditintoutput)Asbeginselect@cnocoun=count(*),@avgmark=avg(mark),@sumcredit=sum(credit)Fromstudent_coursesc,course_classcc,studentswherescsnc=s.snoandCGCCno=scccnogroupbys.sNO,snameend执行过程:Declare@ccountintDeclare@smarkfloatDeclare@screditintExecc'',@ccountoutput,@smarkoutput,@screditoutputSelect”as'学生号',@ccountas'选课门数',@smarkas'平均分',@screditas'所选学分'2、创建一个触发器,当在student_course中添加一个学生选课时,如果已选学分超过30学分或者选课人数超过65人,则拒绝学生本次选修申请。答:createtriggertrig1onstudent_courseforinsert,updateasdeclare@aintdeclare@bintselect@a=(selectSUM(credit)fromcourse_clas9,@b=(selectCOUNT(*)fromcourse_classcc)frominsertedif@a>30or@b>65beginrollbackraiserror('该学生无法再选课!',16,1)end-6-数据库原理与应用实验结果:insertstudent_coursevalues(”,,0,90,90)五、实验思考 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 1、触发器的种类和用途?2、存储过程的类型有哪些?分别有什么特征?3、触发器在维护数据完整性方面有什么功能?-7-
本文档为【2版数据库试验11存储过程触发器及答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
阳光花园
暂无简介~
格式:doc
大小:37KB
软件:Word
页数:14
分类:
上传时间:2022-04-02
浏览量:3