一、实验目的:
Mysql平台要求你熟练使用MySQL基本指令,完成对程序的控制与管理,并根据要求写存储过程。
二、实验要求:
1、基本硬件配置:英特尔Pentium III 以上,大于4G内存;
2、软件要求:Mysql;
3、时间:1小时;
4、撰写实验报告并按时提交。
三、实验内容:
Group1:Mysql基本代码
问题1:根据输入变量deptcode,编写代码块来获得雇员人数。
use example;
set @deptcode =1;
set @personnum=0;
select count(*) into @personnum from emp where deptno=@deptcode;
select @personnum;
问题2:编写一个包含部分定义、执行的代码块:根据员工的empno,输出员工姓名、工资和部门名称。
问题3:编写一个代码块,根据员工编号的变量(empno),得到他的年收入和并输出。
问题4:编写一个包含定义、执行的代码块,实现以下功能:根据部门编号变量的值输出本部门所有员工的平均工资。
Group 2:存储过程的编写和应用
问题1:请写一个存储过程:根据输入的参数员工编号得到该员工的姓名和工资。
drop procedure if exists select_person;
DELIMITER //
create procedure select_person(IN empcode int,OUT empname varchar(20), out empsalary DECIMAL(20,2))
begin
select ename,salary into empname , empsalary from eemp where empno= @empcode;
end;
//
DELIMITER ;
set @empcode=1;
set @empname='';
set @empsalary=0.0;
call select_person(@empcode, @empname, @empsalary);
select @empname, @empsalary;
问题2:编写一个存储过程完成以下功能:根据输入部门编号,得到该部门所有员工的平均工资,要求用输出变量带回调用的地方。
问题3:编写一个存储过程,根据输入的参数员工编号更改员工的工资:如果员工的工资大于100,则在原值的基础上增加100;如果工资为0或null,则将其设置为200。
问题 4:编写一个带有输入参数、输出参数的存储过程,根据输入mgr编号得到该领导所带的职工人数。
问题5:编写一个存储过程,根据输入的部门编号更改该部门所有员工的工资:如果员工的工资大于1000,则在原值的基础上增加10%;如果工资大于1500,则提高8%。(需要使用游标)