函數語法:
必須有一個返回值,而且只能是一個返回值ide
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()$
#有參返回
#案例:根據員工名,返回工資code
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')$
#案例:根據部門名返回該部門的平均工資it
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')$