Microsoft SQL第三次实验

本文记录了一次关于Microsoft SQL Server的实验,涉及视图的创建、查询、删除,触发器的建立和删除,以及存储过程的定义。实验中还探讨了用户权限管理,包括授权、收回权限以及不同用户操作。此外,实验还涵盖了完整性约束的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验要求

(1) 掌握视图的定义与操作
(2) 掌握对触发器的定义
(3) 掌握对存储过程的定义
(4) 掌握如何对用户进行授权和收回权限
(5) 掌握用户定义完整性的方法
(6) 写出实验报告

实验步骤

(1) 创建表的视图
(2) 利用视图完成表的查询
(3) 删除表的视图
(4) 创建触发器
(5) 创建存储过程
(6) 对用户进行授权和查询
(7) 用户定义完整性

视图

(1) 创建

创建 CS 系的视图 CS_View CS 系的视图 CS_View

遇到问题

’CREATE VIEW’ 必须是查询批次中的第一个语句
批处理必须以 CREATE 语句开始。也就是说一个查询分析器里面只有一个批处理语句才是规范的语法。 CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE SCHEMA、CREATE TRIGGER 和 CREATE VIEW 语句不能在批处理中与其他语句组合使用。
所有跟在该批处理后的其他语句将被解释为第一个 CREATE 语句定义的一部分。 之间加GO关键字 分批即可。
也可以重新建立一个查询来写这个批处理语句

go
create view CS_View
as
select *
from Student
where Sdept='CS'
with check option

在这里插入图片描述

(2) 查询

在视图 CS_View 上查询 CS 系选修了 1 号课程的学生

go
select cs_view.sno,sname,ssex,sage,cno
from CS_View,sc
where cs_view.sno=sc.sno and cno=1

在这里插入图片描述

(3) 创建 IS 系

创建 IS 系成绩大于 80 的学生的视图 IS_View

go
create view IS_View
as
select Student.Sno,Sname,cno,grade
from Student,sc
where Student.sno=sc.Sno and Grade>80

在这里插入图片描述

(4) IS_View查询

在视图 IS_View 查询 IS 系成绩大于 80 的学生

select *
from IS_View
where grade>80

在这里插入图片描述

(5) 删除

删除视图 IS_View

drop view IS_View

(6) 不同用户操作

利用可视化窗口创建 2 个不同的用户 U1 和 U2,利用系统管理员给 U1 授予 Student 表的
查询和更新的权限,给 U2 对 SC 表授予插入的权限。然后

在这里插入图片描述
在这里插入图片描述
再进入数据库S_T_的用户处设置权限
在这里插入图片描述
对U1用户查看属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

但是登陆时出现问题

在这里插入图片描述
进行以下操作,成功登录,将sql 2008中的配置也进行相关更改。解决方案参考来源
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
用 U1 登录,分别

  • 1)查询学生表 的信息;
  • 2)把所有学生的年龄增加 1 岁,然后查询;
  • 3)删除 IS 系的学生;
  • 4)查询 CS 系 的选课信息。

登录后只能查看到student表

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值