《2023年西北工业大学数据库实验报告5.docx》由会员分享,可在线阅读,更多相关《2023年西北工业大学数据库实验报告5.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库原理实验报告题目:实验一数据库和表的创建与管理学号姓名班级日期实验内容、环节以及结果1.使用系统存储过程(sp_ren a m e )将视图“V_SPJ”更名为“V_S P J _三建”。(5分) e x ec sp一rename v_sp j , v_sp j_三建l)国 QDO.i(+) 2 dbo.SPJ日。飕Li系统视图13 直 dbo.v_spj_H建2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分)(1)创建个带参数的存储过程一s earch。该存储过程的作用是:当任意输入一个工 程代号时,将返回供应当工程零件的供应商的名称(SNAME)和零件的名称(PNAME)
2、 以及工程的名称(JNAME) o执行j sea r ch存储过程,查询“ J 1”相应的信息。(10 分)创建:create p r o c ed u re jsearc h ( s earchjno nchar ( 2 0 )asbeg i ns e le c t j. j nam e , s. s n a me, p. p name f rom s, p, j, s pjw here*spj. j no= sea r ch_jno an d s p j. jn o =j. j n o an d s pj. sno=s. s n o an d s p j . pno= p . p n oe
3、 ndde 1 e t e from s c wh e re s n o=* 9 50 0 1sc表的变化:snoenocqrade米CAvgGWIN-2278950023849500369195004165NULLNULLNULLrad e表变化:enoSsumexamSsumavqGrade*更新数up d atset egSC表白a23456A/哪e阴931165NULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLIIIMt IIIMIUIA/:时: scid e=99 where sno=1 9 5 00 4E化: s
4、noenocqradeIC A v g278950023849500369195004199NULLNULLNULLGrade表变化:WIN-20160611WE.dbo.CAvgGrade XWIN-20160611WE.tudent -dboenoSsumexamSsumavqGrade23A1199NULLNULLNULLNULLNULLNULLA/ / /A/ / /A/ / /4.创建个work s数据库,其中包含员工表empo y ee( e I D, eN a me, sal ary),假设 该表中有1 0 00条员工数据,完毕下列规定(总计20分,每题10分)。(1)为了协助本
5、题自动生成1000条员工数据,创建一个自动生成员工I D的用户自定 义函数g e nerat e EI D 0其中员工ID规定是一个8位的数字,前四位表达插入员 工数据的当前年份,后四位按照从0001到9 999的顺序增长。例如2 023年插入的 第一条数据是2023 0 0 01,所有1000条员工ID分别是20 2 3。调用该函数实现自 动插入1000条数据。(注意插入数据的时候员工姓名可认为任意值,工资是2 023- 5 0 0 0之间的数字)创建了一个存储过程来完毕:use workg ocreat e p roc e d urc gcner ate E IDasb egindec 1
6、 a re i intset i=0while ( i 1 00 0)begini n sert i n to dbo. employee v alues (202300 0 l+i, name7 +CAST(i a s n char (20) ), 2 0 2 3 + CAST (FLOO R ( r a n d 0 *300 1 ) as in t ) set i =i+lr e tu r n enden delDenamesalarynameO471020160002namel351620160003name2455420160004name3230320160005name424692
7、0160006name5270120160007name6266020160008name7231820160009name8496420160010name9452220160011namelO475220160012namell277620160013namel2223220160014namel3385220160015namel4404920160016namel5220320160017namel64225一 , (2)该公司计划为员工按照一定的规则涨工资,请使用游标创建一个存储过程,执行该存储过程完毕本次工资调整:工资增长规则如下: 工资在300 0元以下,每月涨30 0元;工资在
8、30 0 0 -4 0 0 0元之间,每月涨200元; 工资大于或者等于4 0 00元,每月涨5 0元;use workgod e c lare mycursor CURSOR fors elec t salary from emp 1 oyeeopen mycurs o rde c lare s a 1 a r y i n tfetch next f rom my c urso r into sa 1 arywhil e FETC H _STATUS = 0begini f(sa lary3000)be g i nupdate emplo y ee s et salary = sala r
9、y+300 w h ere c urr e nt o f myc u r sorendels e i f (sal a r y=0select a v g g r a de= AVG ( c grade) fr o m sc wher e cno=c n o and c g r ade=0update CAvgGrad eset S sum= s s um, examSs u m= e xamssum, avgGrade= a vggra d ew her e cno= enoend验证触发器:初始的C AvgG rade表enoSsumexamSsumavqGrade11NULLNULLNU
10、LL4NULLNULLNULL5NULLNULLNULL6NULLNULLNULL2NULLNULLNULL3NULLNULLNULLNULLNULLNULL插入数据时:in s er t i n tosc values ( 95004,1 , 65)Sc表snoenocqraae3500119235001285)5001390?5OO2278?5OO238455003691)5004165C Avg G r a de 表*WIN-20160611WE.dbo.CAvgGrade1 SQLQuerylO.sql-.dministrator (55)|enoSsumexamSsumavqGradeIF 22782NULLNULLNULL3NULLNULLNULL4NULLNULLNULL5NULLNULLNULL6NULLNULLNULL*NULLNULLNULLNULL删除数据时: