select Student.vID 学号, Student.vName 姓名, Student.cSex 性别,
Student.vProfessional 专业, Student.vclass 班级,
iScore 成绩 from Student
join Stud on Student.vID=Stud.vID where Student.vID=@vID end go
exec prcStudent'2010121001'
管理员一次性删除退学学生所有信息(触发器)
create trigger trgDelete on Stud for delete AS BEGIN
declare @vID varchar(20) delete Stud where vID=@vID delete Student where vID=@VID delete StuAnswer where vID=@vID END
学生答题当遇断电等突发情况时,系统自动保存学生的答题信息(事务)
declare @tran_name varchar(30) select @tran_name='save_studAswer' begin tran @tran_name go
use C考试系统 go
save transaction StuAnswer go
commit tran 'save_studAswer'
数据库安全
创建管理员登录账号和数据库用户账号及分配角色赋予权限
exec sp_addlogin '张朋','Zhangpeng','C考试系统',NULL sp_adduser '张朋','张朋','db_owner'
创建教师登录账号和数据库用户账号及分配角色
create login 李杰 with password='Lijie' sp_adduser '李杰','李杰','db_datawriter' create login 张宏 with password='Zhanghong' sp_adduser '张宏','张宏','db_ datawriter'
教师权限可以查询,添加,修改,删除试题
Grant select,insert,delete on Choose to 李杰 Grant select,insert,delete on Fillblank to 李杰 Grant select,insert,delete on Program to 李杰
创建学生登录账号和数据库用户账号及分配角色
create login 张三 with password='zhangsan' sp_adduser '张三','张三','db_ datareader'
学生权限不能查询学生信息表中密码这一属性
Grant select (vID,vName,cSex,vProfessional,vproID,vClass) ON Student TO 张三
防止数据丢失对数据库进行分离和附加及备份和还原
EXEC sp_detach_db 'C考试系统' EXEC sp_attach_db 'C考试系统',
'E:\\SQLanzhuangmulu\\MSSQL10_50.MSSQLSERVER\\MSSQL\\DATA\\C数据库.mdf
将数据备份到磁盘文件
use master GO
backup database C考试系统
TO disk ='E:\\SQLanzhuangmulu\\MSSQL10_50.MSSQLSERVER\\MSSQL\\DATA\\C数据库' GO
还原备份的数据库
use master GO
restore database C考试系统 from C考试系统Backups GO
将学生成绩打印成excel表
EXEC master..xp_cmdshell 'bcp C考试系统.dbo.Stud out c:\\Student.xls -c -q -S\–U”sa” -P\