77范文网 - 专业文章范例文档资料分享平台

(2版)数据库实验11 存储过程触发器及答案(2)

来源:网络收集 时间:1970-01-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第二篇实验内容及安排

答:sNO ccNO NormalMark ExamMark Mark 081220101 0312091006 NULL 90 88

sNO ccNO NormalMark ExamMark Mark 081220101 0312091006 80 90 88

四、实验测验

1、创建一个带输入参数和输出参数的存储过程,要求实现如下功能:输入学生学号,输出学生的选课门数、平均分以及所选总学分。 答:create procedure c

(

@sno char(10),

@cnocount int output, @avgmark float output, @sumcredit int output) As begin

select @cnocount=count(*),@avgmark=avg(mark),@sumcredit=sum(credit) From student_course sc,course_class cc ,student s

where sc.sno=s.sno and cc.ccno=sc.ccno group by s.sNO,sname

end 执行过程:

Declare @ccount int Declare @smark float Declare @scredit int

Exec c '081220101' , @ccount output, @smark output, @scredit output

Select '081220101' as '学生号', @ccount as '选课门数', @smark as '平均分',

@scredit as '所选学分'

2、创建一个触发器,当在student_course中添加一个学生选课时,如果已选学分超过30学分或者选课人数超过65人,则拒绝学生本次选修申请。 答:create trigger trig1 on student_course

for insert ,update as declare @a int

-6-

declare @b int

select @a=(select SUM(credit) from course_class ) , @b=(select COUNT(*) from course_class cc ) from inserted if @a>30 or @b>65 begin rollback

raiserror('该学生无法再选课!',16,1)

end

结果:

insert student_course values('081710106',0312091006,0,90,90)

五、实验思考题

1、触发器的种类和用途?

2、存储过程的类型有哪些?分别有什么特征? 3、触发器在维护数据完整性方面有什么功能?

数据库原理与应用实验

-7-

第二篇实验内容及安排

-8-

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库(2版)数据库实验11 存储过程触发器及答案(2)在线全文阅读。

(2版)数据库实验11 存储过程触发器及答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/280041.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: