资源描述:
《数据库教学资料实验及答案12》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验十二存储过程和触发器1.存储过程不使用任何参数,创建一个存储过程,返回学生学号,姓名,课程名,成绩信息。并调用。createprocedureplasselectstudent•sno,sname,cname,gradefromstudent,sc,coursewherestudent.sno=sc.snoandsc.cno=course.enogoexecpl2.存储过程使用带有输入参数的存储过程,创建一个存储过程,返回学生学号,姓名,课程名,成绩信息。接受与传递参数精确匹配的值。createprocedurep2@namenvarcha
2、r(4),@kcmnvarchar(10)asselectstudent.sno,sname,cname,gradefromstudent,sc,coursewherestudent•sno=sc.snoandsc•cno=course•enoandsname=@nameandcname=0kcmgoexecp2,李明J,高等数学,3.使用带有通配符参数的存储过程,创建一个存储过程,返回学生学号,姓名,课程名,成绩。该存储过程使用了模糊匹配,如果没有提供参数,则使用预设的默认值。createprocedurep3@namenvarchar(4)
3、=1李%1asselectstudent•sno,sname,cname,gradefromstudent,sc,coursewherestudent•sno=sc•snoandsc.cno=course•enoandsnamelike@namegoexecp3'张約1.使用带有output参数的存储过程,用于返回输入特定学生的单科成绩平均分。此存储过程有一个输入和输出参数。并授权,远程调用。createprocedurep4@xhchar(10),@counttinyintoutput,@avgtinyintoutputselectstude
4、nt•sno,sname,cname,gradefromstudent,sc,coursewherestudent•sno=sc.snoandsc.cno=course•enoandstudent•sno=@xhselectGcount=@@rowcountselect@avg=AVG(grade)fromscwheresc.sno=@xhgodeclare@counttinyint,@avgtinyintexecp4,2008056122,,@countoutput,@avgoutputselect@countas,选课门数,select@a
5、vgas'平均分'createlogintomwithpassword=1123*use学牛管理系统createusertomgrantexecuteonp4totom2.修改存储过程2,每次执行重新编译,加密。alterprocedurep2@namenvarchar(4),@kcmnvarchar(10)withrecompile,encryptionasselectstudent•sno,sname,cname,gradefromstudent,sc,coursewherestudent.sno=sc.snoandsc.cno=cours
6、e•enoandsname=@nameandcname=@kcmgo1.查看存储过程2的定义,依赖对象和一般信息。use学生管理系统execsp_helptextp2execsp_helpp22.删除存储过程1和存储过程3。use学生管理系统dropprocedurepl,p33.DML触发器,修改student表中的一条记录的学号时,在sc表的学号也做相应修改。createtriggerupdate_snoonstudentafterupdateasifupdate(sno)updatescsetsno=(selectsnofrominser
7、ted)wheresno=(selectsnofromdeleted)go4.删除student表中的一条记录时,在sc表中有关该生的所有选课记录一同删除。createtriggerdelete_snoonstudentefterdeleteasdeletefromscwheresno=(selectsnofromdeleted)go10.检查在sc表中插入的记录的sno值y要在student中找至U,eno在course表中找至!)。createtriggerinsert_sconscforinsertasifexists(select*fr
8、ominsertedwheresnonotin(selectsnofromstudent)orenonotin(selectenofromcourse