E3 基于Mysql的SQL应用和存储过程

一、实验目的:

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;

E3 基于Mysql的SQL应用和存储过程_第1张图片问题2:编写一个包含部分定义、执行的代码块:根据员工的empno,输出员工姓名、工资和部门名称。

E3 基于Mysql的SQL应用和存储过程_第2张图片问题3:编写一个代码块,根据员工编号的变量(empno),得到他的年收入和并输出。

E3 基于Mysql的SQL应用和存储过程_第3张图片

问题4编写一个包含定义、执行的代码块,实现以下功能:根据部门编号变量的值输出本部门所有员工的平均工资。

E3 基于Mysql的SQL应用和存储过程_第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;

E3 基于Mysql的SQL应用和存储过程_第5张图片

问题2编写一个存储过程完成以下功能:根据输入部门编号,得到该部门所有员工的平均工资,要求用输出变量带回调用的地方。

E3 基于Mysql的SQL应用和存储过程_第6张图片E3 基于Mysql的SQL应用和存储过程_第7张图片

问题3编写一个存储过程,根据输入的参数员工编号更改员工的工资:如果员工的工资大于100,则在原值的基础上增加100;如果工资为0或null,则将其设置为200。

E3 基于Mysql的SQL应用和存储过程_第8张图片问题 4:编写一个带有输入参数、输出参数的存储过程,根据输入mgr编号得到该领导所带的职工人数。

E3 基于Mysql的SQL应用和存储过程_第9张图片问题5:编写一个存储过程,根据输入的部门编号更改该部门所有员工的工资:如果员工的工资大于1000,则在原值的基础上增加10%;如果工资大于1500,则提高8%。(需要使用游标)

E3 基于Mysql的SQL应用和存储过程_第10张图片

你可能感兴趣的:(课内,mysql,sql,数据库)