实验13存储过程、触发器
1.实验目的
(1) 掌握使用SQL Server管理平台和Transact-SQL语句创建存储过程、
执行存储过程、修改存储过程、删除存储过程的用法。
(2) 理解使用SQL Server管理平台和Transact-SQL语句查看存储过程定
义、重命名存储过程的用法。
(3) 掌握通过SQL Server管理平台和Transact-SQL语句创建、修改、删
除触发器的方法和步骤。 (4) 掌握引发触发器的方法。
(5) 掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。
2.实验内容及步骤
请先附加studentsdb数据库,然后完成以下实验。 (1) 以下代码创建一个存储过程:
CREATE PROCEDURE grade_s (@sid char(4), @cidchar(4)) AS BEGIN
SELECT s.学号,s.姓名,g.课程编号,g.分数
FROM student_info s JOIN grade g ON s.学号=g.学号 WHERE s.学号=@sid AND g.课程编号=@cid END
当grade_s执行时,输入数据0001、k002时,结果是。 (2) 以下代码创建一个存储过程stu_g
CREATE PROCEDURE stu_g @cidnchar(4) AS
SELECT a.* FROM student_infoa INNER JOIN grade b ON a.学号=b.学号 WHERE 课程编号=@cid
当stu_g执行时,输入数据‘k003’,结果是。
(3) 设计一个存储过程get_stu完成这样的功能:输出所有学生的学号,姓
名,课程编号,课程名称和分数,并以学号升序、成绩降序显示。请编写程
序实现。 答:
(4) 设计一个存储过程stu_course完成这样的功能:输出某个学生(学号参
数为@sid)所修读课程的课程名称。编写并调用该存储过程,输出学号为'0003'的学生所修读课程名称。 答:
(5) 设计一个存储过程stu_maxg完成这样的功能:使用OUTPUT参数
(@maxg)输出某门课程(参数为@cid)最高分。编写调用该存储过程输出‘k001’课程最高分的程序。 答:
(6) 设计一个存储过程proc_modifyc完成这样的功能:修改某门课程
(@cid)的课程名称(@cname)和学分(@credit),编写并调用该存储过程,修改课程号为’K003’的课程名称为‘数据库原理与应用’、学分为4。 答:
(7) 复制student_info表命名为stu2,为stu2表创建一个触发器stu_tr,
当对stu2表进行插入、修改时,激活该触发器,显示删除临时表与插入临时表。
--复制student_info(重定向)
答:
--创建insert、update触发器
答:
--插入一条数据(‘0009’,’张瑞芳’,’女’,’1995-11-11’,’广从大道13号’)观察inserted、deleted临时表的变化
--更新数据,将学号为’0009’学生的姓名改为’张芮芳’,观察inserted、deleted临时表的变化
(8) 为student_info表设计一个触发器del_s_g,当stu_info表中的学
生记录被删除时,grade表中的所有相应记录能自动删除。 答:
(9) 为Curriculum表设计一个instead of触发器触发器trig_c2,不允
许修改课程编号。 答:
实验名称 实验日期 实验目的 存储过程与触发器 掌握使用SQL Server管理平台和Transact-SQL语句创建存储过程、执行存储过程、修改存储过程、删除存储过程的用法。 理解使用SQL Server管理平台和Transact-SQL语句查看存储过程定义、重命名存储过程的用法。 掌握通过SQL Server管理平台和Transact-SQL语句创建、修改、删除触发器的方法和步骤。 掌握引发触发器的方法。 掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。 实验环境 实验内容 Windows 7 ,SQL Server2008/2012 按实验步骤完成存储过程与触发器的创建。 实验中要求在查询设计器中用语句完成的实验,请在这里填写他们的语句,并标上题号。 试验思考 回答以下问题: (1) 不带参数,带参数的存储过程各举一例。 (2) 解说触发器的两种类型,各举例。 【手写“回答以下问题”,若空白处不够,请附页完成】
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库实验13 存储过程与触发器在线全文阅读。
相关推荐: