实训数据库开发应用——视图存储过程

--1.创建查询学生的学号,姓名,所在系,课程号,课程名,课程学分的视图

createviewv1

as

selects.sno,sname,sdept,c.cno,cname,credit

fromstudentsjoinscons.sno=sc.sno

joincourseconc.cno=sc.cno

--2.创建查询每个学生的平均成绩的视图,要求列出学生学号及平均成绩

createviewv2

as

selectsno,avg(grade)avg_g

fromsc

groupbysno

--3.创建查询每个学生的总学分的视图,要求列出学号和总学分

createviewv3

as

selectsno,sum(credit)sum_c

fromscjoincourseconc.cno=sc.cno

wheregrade>=60andgradeisnotnull

groupbysno

--4.创建查询年龄大于等于20的男生的视图,列出学号,姓名,所在系和年龄,

--并要求限制通过此视图将年龄大于等于20的男生修改为年龄小于20

createviewv4

as

selectsno,sname,sdept,sagefromstudent

wheresage>=20andssex='男'

withcheckoption

--(1)创建查询每个学生的修课总学分的存储过程,要求列出学号及总学分

createprocp1

as

selectsno,sum(credit)

fromscjoincourseconc.cno=sc.cno

wheregradeisnotnull

andgrade>=60

groupbysno

--(2)创建查询指定系学生学号,姓名,课程号,课程名,课程学分的存储过程,将学生所在系作为输入参数.

createprocp2

@dvarchar(20)

as

selects.sno,sname,c.cno,cname,credit

fromcoursecjoinsconc.cno=sc.cno

joinstudentsonsc.sno=s.sno

wheresdept=@d

--(3)计算1+2+3+...的存储过程

createprocp3

@xint,@sumintoutput

as

declare@iint

set@i=1

set@sum=0

while@i<=@x

begin

set@sum=@sum+@i

set@i=@i+1

end

--(4)创建删除指定学生的修课记录的存储过程,学号为输入参数

createprocp4

@snochar(8)

as

deletefromscwheresno=@sno

--(5)创建修改指定课程的学分的存储过程.

createprocp5

@cnochar(8),@crint=3

as

updatecoursesetcredit=@cr

wherecno=@cno

<!--EndFragment-->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值