MySQL存储过程

MySQL存储过程_第1张图片

DELIMITER //

CREATE FUNCTION count_sch()
  RETURNS INT
  BEGIN
    DECLARE count INT;
    SELECT COUNT(*) INTO count FROM sch;
    RETURN count;
  END //

DELIMITER ;

        Ⅰ定义了一个名为 count_sch 的函数。它没有参数,返回类型为整数 (INT)。在函数体内部,我们声明了一个变量 count,类型为整数,用于存储查询结果。然后,我们使用 SELECT COUNT(*) INTO count 查询 sch 表中的记录数,并将结果存储到 count 变量中。最后,通过 RETURN count 语句将结果返回。

DELIMITER //

CREATE PROCEDURE avg_sai(IN deptno INT, IN job VARCHAR(50), OUT avg_salary DECIMAL(10,2))
  BEGIN
    SELECT AVG(salary) INTO avg_salary FROM emp WHERE deptno = deptno AND job = job;
  END //

DELIMITER ;

可以使用以下语句调用该存储过程并获取平均工资:

CALL avg_sai(30, '销售员', @avg_salary);
SELECT @avg_salary;

要删除一个存储函数,可以使用 DROP FUNCTION 语句。你需要提供函数的名称以及任何必要的参数信息(如果有的话)。下面是删除存储函数的示例:

DROP FUNCTION IF EXISTS count_sch;

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