-- Concatenate and display the current values in the variables. PRINT 'title: ' + @title --打印变量中的数据
-- This is executed as long as the previous fetch succeeds. FETCH NEXT FROM title_cursor --取下一个值,存入变量 INTO @title END
CLOSE title_cursor
DEALLOCATE title_cursor GO
第19页
实验九 存储过程
实验目的:
1、理解存储过程的概念,掌握各种存储过程的创建方法。 2、掌握查看、修改和删除存储过程的方法。 3、掌握执行存储过程的方法。 实验内容:
1、创建一个名为“proc_1”的存储过程,用于查看学生表的所有信息。然后调用该存储过程。
2、创建一个名为“proc_2”的存储过程,用于向学生表的所有字段添加一条记录,记录内容由调用时决定。然后调用该存储过程。
3、创建一个名为“proc_3”的存储过程,用于删除学生表中指定学号的记录,具体学号由调用时决定。然后调用该存储过程。
4、修改存储过程“proc_4”,用于查询不小于指定成绩的学生的基本信息,具体成绩由调用时决定。
5、创建一个名为“proc_5”的存储过程,用于求一个3位整数的反序数。例如123的反序数为321。
第20页
实验十 触发器
实验目的:
1、理解触发器的概念与类型。
2、掌握创建、修改和删除触发器的方法。 3、掌握使用触发器维护数据完整性的方法。 实验内容:
1、创建一个名为“trig_1”的触发器,当向学生表添加记录时,该触发器自动显示学生表的所有信息。
2、创建一个名为“trig_2”的触发器,当试图向学生表添加、修改或删除记录时,该触发器自动显示如下信息:“对不起,你无权进行更新操作!”。 3、修改“trig_3”的触发器,当向学生表修改记录时,该触发器自动显示修改前和修改后的记录。
4、创建一个名为“trig_4”的触发器,当向学生表删除记录时,该触发器自动删除成绩表中与之相关的所有记录。
5、创建一个名为“trig_5”的触发器,当向成绩表添加记录时,该触发器自动显示与该记录相关的学生的学号、姓名和专业编号。(本题要求创建之前先判断该触发器是否存在,若存在,则删除)
第21页
实验十一 安全管理
实验目的:
1、掌握SQL Server身份验证模式。 2、掌握创建和管理登录账户。
3、掌握创建和管理服务器角色和数据库角色。 4、掌握授予、拒绝或撤销权限的方法。 实验内容: 1、创建登录账户。
① 使用企业管理器创建通过SQL Server身份验证模式的登录,其登录名称为stu_login1,密码为stu111,默认数据库为student。
② 使用企业管理器创建通过Windows身份验证模式的登录,其登录名称为stu_login2,密码为stu222,默认数据库为student。(提示:先在Windows系统创建stu_login2用户)
③ 使用系统存储过程sp_addlogin创建登录,其登录名称为stu_login3,密码为stu333。
④ 使用企业管理器删除登录账户stu_login1,stu_login2。
⑤ 使用系统存储过程sp_droplogin从SQL Server中的登录账户stu_login3。 2、创建和管理数据库用户和角色。
① 创建登录名为stu_user,密码为stu123,默认数据库为student,并能连接到student数据库的用户。
EXEC sp_addlogin ‘stu_user’,’stu123’,’student’ USE student
EXEC sp_grantdbaccess ‘stu_user’,’stu_user’
② 使用企业管理器创建数据库角色stu_role1,然后将其添加到该数据库角色中,最后删除stu_role1。
③ 使用系统存储过程sp_addrole添加名为stu_role2的自定义角色到student数据库中,使用sp_droprole删除stu_role2。
④ 使用系统存储过程sp_addrole添加名为stu_role3的应用程序角色,授权stu_role3具有stud_grade表的SELECT权限,查询分析器以stu_user身份
第22页
连接,输入执行SELECT语句,激活应用程序角色stu_role3后,重新执行SELECT语句。
⑤ 创建一个应用程序角色stu_role,其能够访问student数据库,并且具有读取、修改数据库的权限。 3、管理权限。
① 把查询表stud_grade的权限授予用户stu_user。 GRANT SELECT ON stud_grade TO stu_user
② 把对表stu_grade的全部操作权限授予用户stu_user。 GRANT ALL PRIVILEGES ON stud_grade TO stu_user ③ 把对表stu_grade的查询权限授予所有用户。 GRANT SELECT ON stud_grade TO public
④ 把对查询表stu_grade和修改学生学号的权限授予用户stu_user。 GRANT UPDATE(stud_id),SELECT ON stud_grade TO stu_user
⑤ 把对表stu_grade的INSERT权限授予用户stu_user,并允许将此权限再授予其他用户。
GRANT INSERT ON stud_grade TO stu_user WITH GRANT OPTION ⑥ DBA把在数据库student中建立表的权限授予用户stu_user。 GRANT CREATE TABLE TO stu_user
⑦ 把用户stu_user修改学生学号的权限撤销。
REVOKE UPDATE(stud_id) ON stud_grade FROM stu_user ⑧ 撤销所有用户对表stud_grade的查询权限。 REVOKE SELECT ON stud_grade FROM public
⑨ 把用户stu_user对stud_grade表的INSERT权限撤销。 REVOKE INSERT ON stud_grade FROM stu_user CASCADE
第23页
实验十二 数据库的备份与恢复
实验目的:
1、理解备份的基本概念,掌握各种备份数据库的方法。 2、掌握如何从备份中恢复数据库。 实验内容:
1、使用企业管理器创建一个名为“stubak”的备份设备(文件路径及文件名自定),然后把“学生”数据库完全备份到该备份设备中。备份完毕后使用备份对该数据库进行恢复。
2、使用企业管理器在以上数据库完全备份的基础上对该数据库进行差异备份,并且追加到上述备份设备中。然后使用备份对该数据库进行恢复。
3、使用T-SQL语言创建一个名为“pubsbak”的备份设备,该设备在硬盘中所对应的完整文件名为“D:\\SQL\\pubs.bak”。
4、使用T-SQL语言把“NorthWind”数据库备份到“D:\\SQL\\north.bak”文件中。 5、使用T-SQL语言把上题的备份恢复到“NorthWind”数据库。
6、把student数据库中的stud_info和teacher_info转换到Excel数据库中。
第24页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库SQL Server实验指导书(6)在线全文阅读。
相关推荐: