数据库存储过程练习附答案

上传人:大米 文档编号:490314549 上传时间:2023-03-29 格式:DOCX 页数:3 大小:19.07KB
返回 下载 相关 举报
数据库存储过程练习附答案_第1页
第1页 / 共3页
数据库存储过程练习附答案_第2页
第2页 / 共3页
数据库存储过程练习附答案_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据库存储过程练习附答案》由会员分享,可在线阅读,更多相关《数据库存储过程练习附答案(3页珍藏版)》请在金锄头文库上搜索。

1、存储过程、触发器练习1、在学生选课数据库中,创建一存储过程deptmale,查询指定系的男生人数,其中系为输入参数,人数为输出参数。create proc p_deptdept char(20),mannum int output asselect allcre=count(sno) from studentwhere sdept=dept and ssex=男declare num intexec p_dept 计算机系,num outputprint num2、在s_c数据库中,创建一个存储过程totalcredit,根据输入的学生姓名,计算其总学分。(使用输出参数)。并执行该存储过程。c

2、reate proc p_couname char (10), allcre int output asselect allcre =sum (ccredit ) from student , course , scwhere student . sno =sc . sno and course . cno =sc . cnoand sname =name group by sc . snodeclare asum intexec p_cou 刘晨,asum outputprint asum3、创建一更新触发器upd_grade,设置sc表的grade字段不能被更新,并显示信息学生成绩不能被修

3、改,请与教务处联系CREATE TRIGGER mes_sc ON sc FOR UPDATE ASIF UPDATE (grade )BEGINROLLBACK TRANPRINT学生成绩不能被修改,请与教务处联系END4、创建一个insert触发器uninsertstu,当在student表中插入一条新纪录时,如果是“计算机系”的学生,则撤销该插入操作,并返回“此系人数已满,不能再添加”信息。create trigger unisnertstuon student for insertasif exists (select * from inserted where sdept =计算机系

4、)beginprint 此系人数已满,不能再添加rollback transactionend4、创建一删除触发器tri_xs,功能是当某个学生从student表中被删除时,同时也删除sc表中该学生的相关记录。USE学生选课GOCREATE TRIGGER tri_xsON studentFOR DELETEASDELETE scWHERE sno IN (SELECT sno FROM DELETED)GO5、在学生选课数据库中,创建一学生联系方式表 stu_info(id,sno,sname,address,phone) 其中 id 是自动编号。并向该 表中插入一条记录(0611105,李

5、雷,汉正街5号,1111111)。6、在创建的stu_info表中,查找是否有王梅梅同学,如果 没有,则在此表中添加该记录(0611108,王梅梅,人民路1号, 22222222),编程实现将此信息添加到表中。declare id intset IDENTITY_INSERT stu_info ONif exists(select * from stu_info where sname=王梅梅)beginprint 此人已存在.endelsebeginselect id=max(id) from stu_infoset id=id+1insertinto stu_info(id,sno,sname,address,phone)values(id,0611108, 王梅梅,人民路 1 号,22222222)end

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号