函數語法:
必須有一個返回值,並且只能是一個返回值
create function(參數名 參數類型) returns 返回類型
begin
函數體
return 值;
end 結束符
調用:
select 函數名(參數列表)
#案例:返回公司的員工個數,無參返回
DELIMITER $
CREATE FUNCTION mm() RETURNS INT
BEGIN
DECLARE c INT DEFAULT 0;
SELECT COUNT(*) INTO c
FROM employees;
RETURN c;
END $
SELECT mm()$
#有參返回
#案例:根據員工名,返回工資
CREATE FUNCTION mm2(ename VARCHAR(20)) RETURNS DOUBLE
BEGIN
DECLARE esalary DOUBLE DEFAULT 0;
SELECT salary INTO esalary
FROM employees e
WHERE e.last_name=ename;
RETURN esalary;
END $
SELECT mm2('kochhar')$
#案例:根據部門名返回該部門的平均工資
CREATE FUNCTION mm3(dname VARCHAR(20)) RETURNS DOUBLE
BEGIN
DECLARE asalary DOUBLE DEFAULT 0;
SELECT AVG(salary) INTO asalary
FROM employees e
INNER JOIN departments d
ON e.department_id=d.department_id
WHERE d.department_name=dname;
RETURN asalary;
END $
SELECT mm3('IT')$