《数据库原理》实验报告题目:实验五:触发器、、步骤以及结果使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分)execsp_renamev_spj, v_spj_三建;,创建并执行如下的存储过程:(共计35分)创建一个带参数的存储过程—jsearch。该存储过程的作用是:当任意输入一个工程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME)以及工程的名称(JNAME)。执行jsearch存储过程,查询“J1”对应的信息。(10分)******@jnochar(2)asselectsname,pname,jnamefroms,p,j,= =: execjsearch'J1'==***@jno;使用S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。(10分)创建加密存储过程:createprocjmsearchwithencryptionasselect*='北京';sp_helptextjmsearch;(3)使用系统存储过程sp_helptext查看jsearch,jmsearch的文本信息。(5分)用系统存储过程sp_helptext查看jsearch:execsp_helpjsearch;execsp_helptextjsearch;用系统存储过程 sp_helptext 查看jmsearch:execsp_helpjmsearch;execsp_helptextjmsearch;(4)执行jmsearch存储过程,查看北京供应商的情况。(5分)execjmsearch;删除jmsearch存储过程。(5分)drop proc jmsearch;3. 针对Student数据库,创建和执行如下的触发器:(共计 40分)删除SC表上的外键约束,针对SC表创建一个名为insert_s的INSERT触发器。该触发器的功能:当用户向 SC表中插入记录时,o的已有值,则提示用户“不能插入记录这样的纪录” ,否则提示“记录插入成功”。触发器创建成功之后,向 SC表插入记录,验证触发器是否正常工作。 (5分)ochar(4)o=any(ofromC)beginselect' 记录插入成功'insertintoSCselect*frominsertedendelseselect' 不能插入记录这样的记录 'endreturn验证:insertintoSCvalues('95007','5','99');(2)为S表创建一个名为 dele_s1 的DELETE触发器,该触发器的作用是禁止删除 S表中的记录。触发器创建成功之后,删除 S表中的记录,验证触发器是否正常工作。(5分)createtriggerdele_s1onSinsteadofdeleteasbeginrollbackprint' 禁止删除 S表中的记录'end验证:deletefromSwheresno='95007'(3) 为S表创建一个名为dele_s2的DELETE触发器,该触发器的作用是删除S表中的记录时删除SC表中该学生的选课纪录。触发器创建成功之后,删除S表中的记录删除S表中的记录,验证触发器是否正常工作(SC表中的数据被正常删除)。(5分)createtriggerdele_******@snonchar(9)******@sno=snofromdeleteddeleteSCwheresno=***@snoend删除验证:deleteSwheresno='95007'(4) 为S表创建一个名为 update_s的UPDATE触发器,该触发器的作用是禁止更新 S表中“sdept”字段的内容。触发器创建成功之后,更新 S表中“sdept”字段的内容,验证触发器是否正常工作。 (5分)createtriggerupdate_sonSafterupdateasbeginifUPDATE(sdept)beginROLLBACKPRINT'禁止更新sdept字段'EndEND验证:updateSsetsdept=’cf’wheresno='95001'无法删除。(5) 禁用update_s触发器。禁用之后,更新 S表中的“sdept”字段的内容,验证触发器是否还继续正常工作。 (5分)disabletriggerupd
数据库实验报告5 来自淘豆网m.daumloan.com转载请标明出处.