–用用户名为“sa”的用户登录,在“SQL Server Management Studio”中创建名称为
–“Liping”的登录名,再创建用户名为“Liping”的用户,用用户名为“Liping”的
–用户登录,对学生表执行一个查询语句,分析查询失败的原因
SP_addlogin 'Liping','123','数据库的定义'
--use 数据库的定义
SP_adduser 'Liping'
select * from student
/3) 用用户名为“sa”的用户登录,在“SQL Server Management Studio”中给用户名为
“Liping”的用户授予查询学生表的权限,再用用户名为“Liping”的用户登录,对
学生表执行一个查询语句,分析查询成功的原因/
grant select on student to Liping with grant option
/4) 用用户名为“sa”的用户登录,在“SQL Server Management Studio”中创建名称为
“Lili”的登录名,再创建用户名为“Lili”的用户,分别用用户名为“Liping”和
“Lili”的用户登录,对课程表执行一个查询语句,分析查询失败的原因。/
SP_addlogin 'Lili','123','数据库的定义'
SP_adduser 'Lili'
/5) 用用户名为“sa”的用户登录,在“SQL Server Management Studio”中创建名称为
“MyRole”的角色,将用户名为“Liping”的用户和用户名为“Lili”的用户加入该
角色中,对该角色授予查询课程表的权限,分别用用户名为“Liping”和“Lili”的
用户登录,对课程表执行一个查询语句,分析查询成功的原因。/
use 数据库的定义
sp_addrole 'MyRole'
sp_addrolemember 'MyRole','Liping'
sp_addrolemember 'MyRole','Lili'
grant select on course to MyRole with grant option
/*
6) 用用户名为“sa”的用户登录,在“SQL Server Management Studio”中创建一个规
则,约束值为“男”或“女”,将该规则绑定到学生表的“性别”列。在学生表中输入
一条非法学生记录(性别值不为“男”和“女”),体验规则的作用
*/
insert into student values('1111','张三','保',21,'数计学院','12345678901')
select * from student
delete from student where sno = '1111'
create rule stu_sex
as
@ssex = '男' or @ssex = '女'
sp_bindrule 'stu_sex','student.ssex'
insert into student values('1111','张三','保',21,'数计学院','12345678901')
/*
7) 用用户名为“sa”的用户登录,在“SQL Server Management Studio”中创建一个默
认值,值为“男”,将该默认值绑定到学生表的“性别”列。在学生表中输入一条学生
记录(不输入性别值),体验默认的作用
*/
create default s_ssex
as
'男'
sp_bindefault 's_ssex','student.ssex'
insert into student(sno,sname,sage,sdept,stel) values('1111','张三',21,'数计学院','12345678901')
select * from student
/8) 用用户名为“sa”的用户登录,在“SQL Server Management Studio”中对选课表定
义一个“insert”触发器,要求插入到选课表中的记录满足参照完整性约束。/
create trigger sc_insert on sc for insert
as if (select count(*)
from student a,inserted b,course c
where a.sno = b.sno and c.cno=b.cno) = 0
begin
ROLLBACK TRANSACTION
raiserror('不能插入!',16,10)
end
insert into sc values('1003','100005',80)
select * from sc
/9) 用用户名为“sa”的用户登录,在“SQL Server Management Studio”中对学生表定
义一个“Delete”触发器,要求删除学生记录的同时把学生的选课记录也删除/
create trigger student_delete on sc for delete
as
declare @sno varchar(11)
select @sno=sno from deleted
delete from student where sno=@sno
select * from student
select * from sc
delete from sc where sno='1002'