实验六存储过程和触发器
142208100149 陈聪
1、目的与要求
(1)掌握存储过程的使用方法。 (2)掌握触发器的使用方法。 2、实验准备
(1)了解存储过程的使用方法。 (2)了解触发器的使用过程。
(3)了解inserted逻辑表和deleted逻辑表的使用。 (4)了解如何编写CRL存储过程与触发器。 3、实验内容。 (1)存储过程。
①创建存储过程,使用Employees表中的员工人数来初始化一个局部变量,并调用这个存储过程。
注:此段T-SQL命令,书上变量名书写错误,漏掉了下划线。(@nu_MBER1和@nu MBER1区别)
执行该存储过程,并查看结果。
②创建存储过程,比较两个员工的实际收入,若前者比后者高就输出0,否则输出1.
执行该存储过程并查改结果。
③创建添加职员记录的存储过程EmployeeAdd。
执行该存储过程。
执行上面T-SQL命令,在结果栏中显示一行受影响,说明结果已经插入成功,在表Employees中也够看到结果已经存在。
④创建存储过程,使用游标确定一个员工的实际收入是否排在前3名。结果为1表示是,结果为0表示否。
执行该存储过程,在结果栏中显示,命令已成功完成,并且在左侧对象资源管理器中进行刷新会显示刚刚创建的存储过程。
执行该存储过程:
上面T-SQL结果中输出“1”,代表着员工“108991”的实际收入排在前三名。
【思考与练习】
A、创建存储过程,要求当一个员工的工作年份大于6年时,将其转到经理办公室工作。
创建这个存储过程时候,在存储过程的条件判断中我添加了一项,判断工作年份在6年以上的员工是否在经理办公室,只有不在经理办公室的时候才进行调整,这样更符合实际问题些。
然后执行上面的存储过程,并且查看结果:
此时有可能会出现(我就出现了)这样的问题,在之前实验三中就出现了。
解决方法同样是解除规则的绑定。
查看表Employees中员工“000001”的DepartmentID已经修改为“3”(经理办公室)。
B、创建存储过程,根据每个员工的学历将收入提高500.
首先创建一个存储过程,利用什么学历增加收入,在这里,本科学历增加收入500. 执行上面的存储过程,查看结果:
相关推荐: