• mysql第十六章 变量,流程控制触发器课后练习


    第十六章 变量,流程控制与游标课后练习

    1. 准备工作:创建emloyees表和department as select atguigudb中的两个表

    2. 创建函数get_count(),返回公司的员工个数
      有参有返回

    3. 创建函数ename_salary(),根据员工姓名,返回它的工资

    4. 创建函数dept_sal() ,根据部门名,返回该部门的平均工资

    5. 创建函数add_float(),实现传入两个float,返回二者之和

    6. 准备工作

    1. 创建函数get_count(),返回公司的员工个数
    DELIMITER //
    CREATE FUNCTION get_count() RETURNS INT
    BEGIN
    RETURN (SELECT COUNT(*) FROM employees);
    END //
    DELIMITER ;

    调用
    SELECT get_count();

    有参有返回

    7. 创建函数ename_salary(),根据员工姓名,返回它的工资
    DELIMITER //
    CREATE FUNCTION ename_salary(emp_name VARCHAR(20)) RETURNS DOUBLE
    BEGIN
    RETURN (
    SELECT salary
    FROM employees
    WHERE last_name = emp_name
    );
    END //
    DELIMITER ;

    调用
    SELECT ename_salary(‘Abel’);

    8. 创建函数dept_sal() ,根据部门名,返回该部门的平均工资
    DELIMITER //
    CREATE FUNCTION dept_sal(dept_name VARCHAR(20)) RETURNS DOUBLE
    BEGIN
    RETURN (
    SELECT AVG(salary)
    FROM employees e JOIN departments d
    ON e.department_id = d.department_id
    WHERE d.department_name = dept_name
    );
    END //
    DELIMITER ;

    调用
    SELECT dept_sal(‘Marketing’);

    9. 创建函数add_float(),实现传入两个float,返回二者之和
    DELIMITER //
    CREATE FUNCTION add_float(num1 FLOAT,num2 FLOAT) RETURNS FLOAT
    BEGIN
    RETURN (SELECT num1 + num2 );
    END //
    DELIMITER ;

    调用
    SET @num1 := 1.2,@num2 = 3.2;
    SELECT add_float(@num1,@num2)

    查看触发器方法
    SELECT * FROM test_trigger_log;

  • 相关阅读:
    自动监测站主要设备介绍(​​​​​​​雨水情遥测终端机)
    【OpenCV DNN】Flask 视频监控目标检测教程 09
    【PowerQuery】Excel的PowerQuery的复制
    图的存储结构
    Win10/Win11日历提醒与手机日历同步互联
    MySQL表空间
    如何有效的给出反馈(二)
    设计模式——状态模式
    【88】SR-IOV
    R语言入门——line和lines的区别
  • 原文地址:https://blog.csdn.net/m0_46914845/article/details/126295031