存储函数与存储函数过程一样,是由SQL语句和过程式语句组成的代码片段

创建存储函数

  1. CREATE FUNCTION sp_name([func_parameter[,...]])
  2. RETURN type // 声明存储函数返回值的类型
  3. routine_body // 指定存储函数的主体部分,也称为存储函数体
  4. DELIMITER $$
  5. CREATE FUNCTION fn_search(cid int)
  6. RETURNS CHAR(20)
  7. DETERMINISTIC // 确定性判断
  8. BEGIN
  9. DECLARE sex CHAR(20);
  10. SELECT cust_sex FROM cust
  11. WHERE cust_id=cid;
  12. IF sex IS NULL THEN
  13. RETURN(SELECT '没有该客户');
  14. ELSE IF sex='f' THEN
  15. RETURN(SELECT '女');
  16. ELSE RETURN(SELECT '男');
  17. END IF;
  18. END IF;
  19. END $$

存储函数调用

使用 select 关键字调用存储函数

  1. SELECT sp_name(func_parameter[,...])

删除存储函数

  1. DROP FUNCTION [IF EXISTS] sp_name