欢迎来到天天文库
浏览记录
ID:14222996
大小:128.50 KB
页数:7页
时间:2018-07-27
《存储过程和触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、存储过程和触发器管理实验报告学院:信息学院班级:电子信息工程学号:20091060253姓名:郑璇成绩:【实验目的】1.学习创建存储过程。2.学习创建管理触发器。【实验内容】1.在pubs数据库中创建存储过程avg_price,用于求所有出版图书的平均单价。并通过输出参数返回该平均单价。要求在创建过程之前要首先判断该存储过程是否已经存在,如果存在,则将其删除。执行存储过程,打印图书平均单价。ifexists(selectnamefromsysobjectswherename='avg_price'andtype='p')dropprocedureavg_pri
2、cegocreateprocedureavg_price@avgpricefloatoutputasselect@avgprice=avg(price)fromtitlesgodeclare@avgpricefloatexecavg_price@avgpriceoutputprint@avgprice3.在pubs数据库中创建存储过程max_price,根据存储过程的图书类型(输入参数)返回该类图书的最高单价(输出参数)。要求在创建过程之前要首先判断该存储过程是否已经存在,如果存在,则将其删除。ifexists(selectnamefromsysobjects
3、wherename='max_price'andtype='p')dropproceduremax_pricegocreateproceduremax_price@typechar(50),@maxfloatoutputasselect@max=max(price)fromtitleswheretype=@typego4.执行第三题创建的存储过程max_price,指定图书类型为“mod_cook”,打印该类型图书的最高单价。declare@maxfloatexecmax_price'mod_cook',@maxoutputprint@max5.删除存储过程a
4、vg_price,max_price。dropprocedureavg_pricedropproceduremax_price二.触发器创建一个“学生信息”数据库,包含“学生基本信息”表、“专业”表和“系”表,各表包含的字段如下。●“学生基本信息”表:学号;性别;班级;出生日期;专业编号。●“专业”表:专业编号;专业名称;系编号。●“系”表:系编号;系名称;系简介。各字段类型按其实际含义自行定义,输入一些数据,要求数据要有代表性。以下操作要求全部在查询分析器中完成,保存或记录实现各题功能的Transcat-SQL语句。1.在“专业”表上创建一个INSERT触发
5、器“TRG1”。当发生插入专业表操作时,将显示插入的记录。2.在“专业”表表上创建一个DELETE触发器“TRG2”。当发生删除操作时,将给出警告、列出删除的记录并撤消删除。1.在“专业”表表上创建一个UPDATE触发器“TRG3”。当发生更新“专业名称”字段的操作时,给出警告并撤消更新。ifexists(selectnamefromsysobjectswherename='trg3'andtype='tr')droptriggertrg3gocreatetriggertrg3on专业forupdateasifupdate(专业名称)beginprint'不允
6、许更新专业名称!'rollbacktransactionendelseprint'没有更新专业名称,不需要触发器处理'goupdate专业set专业名称='新专业A'where专业名称='新专业'2.在“学生基本信息”表上创建一个更新触发器“TRG4”,当发生更新“学号”或“姓名”字段的操作时给出警告,并撤消更新。droptriggertrg4gocreatetriggertrg4on学生基本信息forupdateasifupdate(学号)orupdate(姓名)beginprint'不允许更新学号或姓名'rollbacktransactionendelse
7、print'没有更新学号或姓名,不需要触发器处理'goupdate学生基本信息set学号='2002090261'where学号='2002090161'GOupdate学生基本信息set姓名='张三'where学号='2002090161'1.创建一个视图view1,view1中包含了某班级的学生基本信息的以下字段:学号;姓名;性别;出生日期。现在要通过该视图向该班级添加新的学生信息,在该视图上创建一个INSTEADOF触发器“TRG5”,使得添加到“学生基本信息”表中的记录内容完整。createviewview1asselect学号,姓名,性别,出生日期f
8、rom学生基本信息goifexists
此文档下载收益归作者所有