sf1091474 2022-06-09 09:37 采纳率: 100%
浏览 394
已结题

就sql数据库编程向大家请求解答

1、创建存储过程,比较两个员工的实际收人,如前者比后者高就输出0,否则输出1,并调用该存储过程比较000001号和108991两员工的收入。调用存储过程,输出结果。

2、创建一个存储函数,返回员工的总人数EM_NUM ()
创建存储函数,判断员工是否在研发部工作,若是则返回其学历,若不是则返回"NO"。
3、创建触发器,在 employees表中删除员工信息的同时将salary表中与该员工有关的数据全部删除。
创建触发器,实现如有新进员工,当向employees表插入一行数据时,对salary表也插人一行新员工的记录,收入和支出暂设为0。
创建触发器,实现若将employees表中员工的工作年限增加n年,收入增加n*500。

img

img

  • 写回答

3条回答 默认 最新

  • 王鹏飞的解忧屋 2022-06-09 10:04
    关注

    Mysql存储过程实践
    一、目的
    1、掌握存储过程的功能与作用
    2、掌握存储过程的创建与管理的方法
    二、内容
    用于企业管理的员工管理数据库,数据库名为YGGL,包含员工信息表Employees、部门信息表Departments、员工薪水情况表Salary
    1、 使用查询给变量赋值。
    (1) 将员工号EmployeeID为’000001’的姓名赋给变量EName,再查询员工信息表Employees中姓名等于变量EName值的员工信息。

    select 姓名 into @ename from employees where 员工编号='000001';
    

    img

    select * from employees where 姓名=@ename;
    
    
    

    img

    (2) 编程在一列中返回Employees表中所有女员工的姓氏,在另一列中返回字。

    select `姓名`, substring(`姓名`,1,1) as 姓名,substring(`姓名`,2,length(`姓名`)-1) as 名字  from employees order by 姓名;
    
    
    

    2、存储过程
    (1)创建存储过程,比较两个员工的实际收入,如前者比后者高就输出0,否则输出1,并调用该存储过程比较”000001”和”108991”两员工的收入。

    
    delimiter $$
    CREATE PROCEDURE cp(in userid1 char(6),in userid2 char(6),OUT res INT)
    BEGIN
    DECLARE sr1,sr2 FLOAT(8,2);
    SELECT `收入` INTO sr1 FROM salary where `员工编号`=userid1;
    SELECT `收入` INTO sr2 FROM salary where `员工编号`=userid2;
    IF sr1>sr2
    THEN SET res=0;
    ELSE SET res=1;
    END IF;
    END $$
    
    

    (2)调用存储过程

    
    Call cp('000001','108991',@res);
    
    

    (3)输出结果

    
    SELECT @res;
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月10日
  • 已采纳回答 6月10日
  • 修改了问题 6月9日
  • 创建了问题 6月9日

悬赏问题

  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝