文章目录

  • 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_Student
AS
SELECT *
FROM  Student
WHERE  Sex='女'

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

SELECT COUNT(*)
FROM F_Student
WHERE Sage<18

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

CREATE VIEW CS_Student
AS
SELECT Sno,Sname,Sex,Sage,Sdept
FROM  Student
WHERE  Sdept= '计算机系'
WITH CHECK OPTION

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

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

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

CREATE VIEW DB_SC(Sno,Sname,Sdept,Cname,Score)
AS
SELECT Student.Sno,Sname,Sdept,Course.Cname,Score
FROM Student,SC,Course
WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno AND Cname='数据库原理'

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

CREATE VIEW DB_SC_60
AS
SELECT *
FROM DB_SC
WHERE Score>=608.将每门课程及其平均分建立视图,视图名自定义(5分)
CREATE VIEW Cour_AVG(Cno,Cavg)
AS
SELECT Cno, AVG(Score)
FROM SC
GROUP BY Cno
goSelect *
from Cour_AVG
GO

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

ALTER VIEW F_Student
AS
SELECT *
FROM  Student
WHERE  Sex='男'

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

DROP VIEW F_Student

存储过程

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

CREATE PROCEDURE PROC_STU
AS
SELECT *
FROM Student
GOEXEC PROC_STU
go

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

CREATE PROCEDURE PROC_SELECT_SEX_COUNT
AS
SELECT Sex,COUNT(Sno)
FROM Student
GROUP BY Sex
GOEXEC PROC_SELECT_SEX_COUNT
GO

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

CREATE PROCEDURE PROC_SELECT_COUNT_BYDEPT
@Dept varchar(50)
AS
SELECT COUNT(Sno)
FROM Student
WHERE Sdept=@Dept
GROUP BY Sdept
goEXEC PROC_SELECT_COUNT_BYDEPT '计算机系'
go

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

CREATE PROCEDURE PROC_COURSE_PRE
@cname varchar(50),@precname varchar(50) OUTPUT
AS
SELECT @precname=Cname
FROM Course
WHERE Cno IN(SELECT Cpno
FROM Course
WHERE Cname=@cname)
GODECLARE @name varchar(50),@pre varchar(50)
SET @name='数据库原理'
EXEC PROC_COURSE_PRE @name,@pre OUTPUT
PRINT @pre
go

使用SQL创建视图和存储过程相关推荐

  1. 为计算机系创建视图,使用SQL创建视图和存储过程

    @[toc] 1.定义所有女生信息的视图"F_Student"(5分) CREATE VIEW F_Student AS SELECT * FROM Student WHERE S ...

  2. SQL创建视图时设置默认值

    ISNULL(字段,0) 查看全文 http://www.taodudu.cc/news/show-3644124.html 相关文章: 使用SQL创建视图和存储过程 SQL创建视图注意事项 mysq ...

  3. mysql 视图 局部变量_mysql创建视图和存储过程,变量

    创建视图 sql>create view 视图名 as select语句; 修改视图并添加别名 sql>create or replace view empvu10 (employee_n ...

  4. SQL创建视图(CREATE VIEW)

    视图是基于 SELECT 语句的结果集的可视化的表. 什么是视图? 在 SQL 中,一个视图是基于某个 SELECT 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的域就是来自一 ...

  5. sql——创建视图和索引

    一.视图 1.使用视图 创建视图:给BILLS表创建视图.创建的视图实际上是一个虚表. CREATE VIEW DEBTS AS SELECT * FROM BILLS; 可以选择特定的行进行新视图的 ...

  6. SQL 创建视图访问其他数据库 不同数据库表格的关联查询

    我们访问其它 SQL Server的数据库,我们可以通过 OPENDATASOURCE (SQL Server 2000 以上版本支持) 来完成. 1.创建视图的方式访问数据库 Create VIEW ...

  7. sql创建视图时,需要设置默认值字段

    文章目录 1 问题 2 解决 1 问题 创建视图的sql, 希望有一个字段使用默认值(拼接的结果集,本身没有这个字段) 2 解决 select 默认值 as 字段名 from 表名

  8. SQL创建视图注意事项

    视图的创建和注意事项 1.如何创建视图及注意事项 创建视图图的基本语法: CREATE VIEW <视图名称>(<列名1>,<列名2>,...) AS <SE ...

  9. mysql 视图 动态sql_sql-server – 使用动态Sql创建视图

    我正在尝试创建一个动态数据库创建脚本. 有很多步骤,我们经常创建这个数据库,所以脚本看起来像这样. DECLARE @databaseName nvarchar(100) = 'DatabaseNam ...

最新文章

  1. IT创业光技术好,谋略定位不好,你很可能会死得很惨,丢钱、丢客户、丢成果、丢商机、丢思路...
  2. Exchange2013公用文件夹
  3. BZOJ 2208[Jsoi2010]连通数
  4. PHP错误处理函数set_error_handler()的用法
  5. 修改 Workshop 中 text box 输入内容的颜色
  6. @scheduled 每30s 执行一次_全球首发5G神U麒麟820,荣耀30S卡位5G档位最强,售价2399起...
  7. verilog经验谈
  8. 160 - 40 DaNiEl-RJ.1
  9. 高可用—Keepalived安装部署使用详解
  10. C#实现重新启动计算机
  11. [转载] python基础知识三——try与except处理异常语句
  12. 微信小程序云数据库调用模板
  13. linux mysql max_allowed_packet_Linux服务器上如何设置MySQL的max_allowed_packe
  14. 2020年11月软考网络规划设计师上午真题及答案解析
  15. 手机开USB热点给电脑使用失败
  16. MMA-符号学运算的奥妙
  17. 【论文投稿】(一)新手向投稿准备
  18. 面对二维码地推无法分辨地区之间的优劣,我们该怎么做!
  19. App Store 中国区已支持人民币支付
  20. 世界上最近的路是摸黑走夜路

热门文章

  1. CDA数据分析师 - 数据分析概述
  2. 德国电动车制造企业Ego申请破产保护
  3. 制作labelme数据集(tusimple数据集)
  4. waitKey函数详细使用
  5. 考研预报名时间公布?时间缩短两天!
  6. gitlab撤销已经合并到master的提交
  7. 能复现Linux内核是什么水平,Linux基础及应用习题解析教学文案
  8. centos 挂载硬盘
  9. 科技论文 插图_科技品牌正确解决方案时通过插图进行区分
  10. 保姆级教程:geant4虚拟机镜像使用说明