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

上传人:苏美尔 文档编号:8653316 上传时间:2020-12-14 格式:DOCX 页数:3 大小:67.68KB
返回 下载 相关 举报
数据库存储过程练习附答案.docx_第1页
第1页 / 共3页
数据库存储过程练习附答案.docx_第2页
第2页 / 共3页
数据库存储过程练习附答案.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

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

1、数据库存储过程练习附答案存储过程、触发器练习1、在学生选课数据库中 ,创建一存储过程deptmale,查询指定系的男生人数 ,其中系为输入参数 ,人数为输出参数。create proc p_deptdept char(20),mannum int outputasselect allcre=count(sno) from studentwhere sdept=dept and ssex=男 declarenumintexecp_dept 计算机系 , num outputprintnum2、在 s_c 数据库中 ,创建一个存储过程totalcredit, 根据输入的学生姓名 ,计算其总学分。

2、(使用输出参数 )。并执行该存储过程。createprocp_couname char( 10 ), allcreintoutputasselectallcre=sum ( ccredit)fromstudent, course, scwherestudent、 sno = sc 、 snoand course、 cno = sc 、 cnoand sname= name groupby sc、 snodeclareasumintexecp_cou 刘晨 , asum outputprintasum3、创建一更新触发器 upd_grade,设置 sc 表的 grade 字段不能被更新 ,并显示

3、信息 “学生成绩不能被修改 ,请与教务处联系 ”。CREATE TRIGGER mes_scON scFOR UPDATEASIF UPDATE(grade)BEGINROLLBACK TRANPRINT 学生成绩不能被修改, 请与教务处联系END4、创建一个 insert 触发器 uninsertstu,当在 student 表中插入一条新纪录时 ,如果就是“计算机系”的学生 ,则撤销该插入操作 ,并返回数据库存储过程练习附答案“此系人数已满 ,不能再添加”信息。createtriggerunisnertstuon studentforinsertasifexists( select*fro

4、minsertedwheresdept=计算机系 )beginprint 此系人数已满, 不能再添加rollbacktransactionend4、创建一删除触发器tri_xs,功能就是当某个学生从student 表中被删除时 ,同时也删除 sc 表中该学生的相关记录。USE 学生选课GOCREATE TRIGGER tri_xsON studentFOR DELETEASDELETE scWHERE sno IN (SELECT sno FROM DELETED)GO5 、 在 学 生 选 课 数 据 库 中 , 创 建 一 学 生 联 系 方 式 表stu_info(id,sno,snam

5、e,address,phone)。其中 id 就是自动编号。并向该表中插入一条记录 (0611105,李雷 ,汉正街 5 号,1111111)。6、在创建的 stu_info 表中 ,查找就是否有王梅梅同学,如果没有 ,则在此表中添加该记录 (0611108,王梅梅 ,人民路 1 号,22222222),编程实现将此信息添加到表中。declare id intset IDENTITY_INSERT stu_info ONif exists(select * from stu_info where sname=王梅梅 )begin数据库存储过程练习附答案print 此人已存在、 endelsebeginselect id=max(id) from stu_infoset id=id+1insertintostu_info(id,sno,sname,address,phone)values(id,0611108,王梅梅 ,人民路1 号,22222222)end

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1