use SQL考试数据库
-- [SQL考试客户]的权限： 
-- 查询参数表和学生信息表中学号、姓名、座号、身份证号字段，填写学生信息表中的座号
grant select on [dbo].[参数表]  to [SQL考试客户]
grant select on [dbo].[学生信息表]
	([学号], [姓名], [座号], [身份证号]) to [SQL考试客户]
grant update on [dbo].[学生信息表] ([座号]) to [SQL考试客户]

-- [SQL考试教师]的权限：
-- 下述固定服务器角色、固定数据库角色的暗示性权限；
-- 设置[SQL考试教师]登录账户为[系统管理员securityadmin]的成员
-- 设置[SQL考试教师]数据库用户[数据库所有者db_owner]的成员
-- [SQL考试教师]具有了上述两个角色的暗示性权限
exec sp_addsrvrolemember N'SQL考试教师', securityadmin
exec sp_addrolemember N'db_owner', N'SQL考试教师'
-- 不能修改试卷完成表中的答案、结果图、提交时间和提交机器的内容。
deny update on [dbo].[试卷完成表]
	([答案], [结果图], [提交时间], [提交机器]) to [SQL考试教师] cascade 
-- [考生]角色的权限：
-- 只可查询参数表和执行P学生查询个人试卷、P学生提交试卷答案。
grant select on [dbo].[参数表] to [考生]
grant execute on [dbo].[P学生查询个人试卷] to [考生]
grant execute on [dbo].[P学生提交试卷答案] to [考生]
