实验6 数据库实验——存储过程和触发器.doc
上传人:王子****青蛙 上传时间:2024-09-14 格式:DOC 页数:16 大小:235KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

实验6 数据库实验——存储过程和触发器.doc

实验6数据库实验——存储过程和触发器.doc

预览

免费试读已结束,剩余 6 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验6存储过程与触发器一、实验目得1、加深与巩固对存储过程与触发器概念得理解。2、掌握触发器得简单应用。3、掌握存储过程得简单应用。二、实验内容一)存储过程:1、创建一存储过程,求l+2+3+…+n,并打印结果。CREATEPROCEDUREaddresultASDECLAREnint=10,/*最后一个数*/iint=0,resultint=0/*结果*/BEGINWHILE(i<=n)BEGINSETresult=result+iSETi=i+1ENDPRINT'1+2+3+、、、+n得结果就是:’PRINTresultRETURN(result)ENDGO2.调用上面得addresult存储过程,打印l十2+3+…+10得结果。EXECaddresult3、修改上述存储过程为addresult1,使得n为输入参数,其具体值由用户调用此存储过程时指定.CREATEPROCEDUREaddresult1nint=10/*最后一个数*/ASDECLAREiint=0,resultint=0/*结果*/BEGINWHILE(i<=n)BEGINSETresult=result+iSETi=i+1ENDPRINT’1+2+3+、、、+n得结果就是:’PRINTresultRETURN(result)ENDGO4、调用上面修改后得addresult1存储过程,打印l+2+3+…+100得结果。EXECaddresult11005.修改上述存储过程为addresult2,将n参数设定默认值为10,并改设sum为输出参数,让主程序能够接收计算结果。CREATEPROCEDUREaddresult2nint=10,/*最后一个数*/sumintout/*结果*/ASDECLAREiint=0BEGINsetsum=0WHILE(i<=n)BEGINSETsum=sum+iSETi=i+1ENDENDGO6。调用上面修改后得addresult2存储过程,设置变量s接收计算l+2+3+…+10得结果。DECLAREsintsets=0EXECaddresult210,sum=soutPRINT'1+2+3+、、、+n得结果就是:'PRINTs7.创建一存储过程Proc_Student,用于显示学号为“0102"得学生基本信息(包括学号、姓名、性别与系)。CREATEPROCEDUREProc_StudentASBEGINselect*fromSwhereS、sno=0102ENDGOEXECProc_Student8。创建一存储过程Stu_grade,通过读取某门课得编号,求出不及格得学生得学号。CREATEPROCEDUREStu_gradenchar(10)ASBEGINselectsnofromSCwherecno=nandgrade<60ENDGO9。调用上面得存储过程Stu_grade,求出课程编号为“0101”得不及格得学生.EXECStu_grade010110.创建一存储过程avgGrade,通过读取学生得学号,以参数形式返回该学生得平均分。CREATEPROCEDUREavgGradenchar(10)ASBEGINselectAVG(grade)平均分fromSCwheresno=ngroupbysnoENDGO11.调用上面得存储过程avgGrade,求出学号为“990102014"得平均分.EXECavgGrade99010201412.删除上述存储过程avgGrade。dropprocedureavgGrade13、创建存储过程search,该存储过程有三个参数,分别为t、p1,p2,根据这些参数,找出书名与t有关,价格在p1与p2(p2〉=p1)之间得书得编号,书名,价格,出舨日期。如果用户调用时没有指定t参数得值。则表示可为任意值,如用户没有指定p2,则书本价格没有上限。用到得关系为:titles(title_id,title,price,pubdate)。CREATEPROCEDUREsearchtchar(10)=”%",p1char(10),p2char(10)=NULLASBEGINselecttitle_id,title,price,pubdatefromtitleswheretitle=tandprice〈=p2andprice〉=p1ENDGO14。调用上面得存储过程search,求出书名与puter有关,而且价格小于$20大于$10得书。EXECsea