使用SQL创建视图和存储过程

网友投稿 276 2022-12-01

使用SQL创建视图和存储过程

文章目录

​​1.定义所有女生信息的视图“F_Student”(5分)​​​​2.通过视图“F_Student”查询小于18岁的女生人数。(5分)​​​​3.定义“计算机系”学生的视图”CS_Student”,并要求透过该视图进行的更新操作只涉及计算机系学生。(5分)​​​​4.通过视图CS_Student插入一条学生记录,数据自拟,插入的数据在Sdept是否有限制?(5分)​​​​6.建立选修了“数据库原理”这门课的学生信息视图“DB_SC”,视图列包含:学号,姓名,所在系,课程名,分数。(5分)​​​​7.在视图“DB_SC”上定义新视图“DB_SC_60”,选修了“数据库原理”这门课且成绩及格的学生信息视图。(5分)​​​​9.将视图“F_Student”修改为记录所有男生信息的视图。(5分)​​​​10.删除视图“F_Student”(5分)​​​​11.创建一个存储过程“PROC_STU”,查询所有学生信息,执行该存储过程,查看结果。(10分)​​​​12.创建一个存储过程“PROC_SELECT_SEX_COUNT”,查询男生和女生的人数。执行该存储过程,查看执行结果。(10分)​​​​13.创建一个带有参数的存储过程,根据系别查询学生人数,执行该存储过程,查看执行结果。(10分)​​​​14.创建一个带有参数的存储过程,根据课程名,查询其先修课的课程名,要求使用输出参数返回查询结果,并执行该存储过程查看结果。(15分)​​

1.定义所有女生信息的视图“F_Student”(5分)

CREATE VIEW F_StudentAS SELECT *FROM StudentWHERE Sex='女'

2.通过视图“F_Student”查询小于18岁的女生人数。(5分)

SELECT COUNT(*)FROM F_StudentWHERE Sage<18

3.定义“计算机系”学生的视图”CS_Student”,并要求透过该视图进行的更新操作只涉及计算机系学生。(5分)

CREATE VIEW CS_StudentAS SELECT Sno,Sname,Sex,Sage,SdeptFROM StudentWHERE Sdept= '计算机系'WITH CHECK OPTION

4.通过视图CS_Student插入一条学生记录,数据自拟,插入的数据在Sdept是否有限制?(5分)

INSERT INTO CS_StudentVALUES('19250101','王芳','女',20,'计算机系')有限制:所插入的数据在Sdept列上必须是“计算机系”5.通过视图CS_Student删除姓名为“徐庆”的学生记录,能否成功?为什么?(10分)DELETE FROM CS_StudentWHERE Sname='徐庆'go--执行结果显示0行受影响,则说明未删除成功SELECT *FROM StudentWHERE Sname='徐庆'go--执行查询依然可看到该生信息

6.建立选修了“数据库原理”这门课的学生信息视图“DB_SC”,视图列包含:学号,姓名,所在系,课程名,分数。(5分)

CREATE VIEW DB_SC(Sno,Sname,Sdept,Cname,Score)ASSELECT Student.Sno,Sname,Sdept,Course.Cname,ScoreFROM Student,SC,CourseWHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno AND Cname='数据库原理'

7.在视图“DB_SC”上定义新视图“DB_SC_60”,选修了“数据库原理”这门课且成绩及格的学生信息视图。(5分)

CREATE VIEW DB_SC_60ASSELECT *FROM DB_SCWHERE Score>=608.将每门课程及其平均分建立视图,视图名自定义(5分)CREATE VIEW Cour_AVG(Cno,Cavg)ASSELECT Cno, AVG(Score)FROM SCGROUP BY CnogoSelect *from

9.将视图“F_Student”修改为记录所有男生信息的视图。(5分)

ALTER VIEW F_StudentAS SELECT *FROM StudentWHERE Sex='男'

10.删除视图“F_Student”(5分)

DROP VIEW

存储过程

11.创建一个存储过程“PROC_STU”,查询所有学生信息,执行该存储过程,查看结果。(10分)

CREATE PROCEDURE PROC_STUASSELECT *FROM StudentGOEXEC

12.创建一个存储过程“PROC_SELECT_SEX_COUNT”,查询男生和女生的人数。执行该存储过程,查看执行结果。(10分)

CREATE PROCEDURE PROC_SELECT_SEX_COUNTASSELECT Sex,COUNT(Sno)FROM StudentGROUP BY SexGOEXEC

13.创建一个带有参数的存储过程,根据系别查询学生人数,执行该存储过程,查看执行结果。(10分)

CREATE PROCEDURE PROC_SELECT_COUNT_BYDEPT@Dept varchar(50)ASSELECT COUNT(Sno)FROM StudentWHERE Sdept=@DeptGROUP BY SdeptgoEXEC PROC_SELECT_COUNT_BYDEPT '计算机系'

14.创建一个带有参数的存储过程,根据课程名,查询其先修课的课程名,要求使用输出参数返回查询结果,并执行该存储过程查看结果。(15分)

CREATE PROCEDURE PROC_COURSE_PRE@cname varchar(50),@precname varchar(50) OUTPUTASSELECT @precname=CnameFROM CourseWHERE Cno IN(SELECT CpnoFROM CourseWHERE Cname=@cname)GODECLARE @name varchar(50),@pre varchar(50)SET @name='数据库原理'EXEC PROC_COURSE_PRE @name,@pre OUTPUTPRINT @pre

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot WebSocket实时监控异常的详细流程
下一篇:libp2p是什么?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~