--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