八、函数
--创建函数/存储过程之分支语句
--if else 的使用 --case when 的使用
DELIMITER //
CREATE FUNCTION func(s INT)
RETURNS VARCHAR(32) --此处返回函数的数据类型,return+s
BEGIN
DECLARE gra VARCHAR(32);
或:case
IF s<60 THEN when s<60 then (此时无需定义gra)
SET gra='bad'; SET gra='bad'; 或:return 'bad';
ELSEIF s>=60 AND s<80 THEN when s>=60 and s<80 then
SET gra='good'; SET gra='good'; return 'good';
ELSEIF s>=80 THEN when s>=80 then
SET gra='perfect'; SET gra='perfect'; return 'perfect';
end case;
END IF;
RETURN gra; --此处返回函数的数据,return
END//
DELIMITER ;
--调用函数
SELECT grace,fname,number,func(grace) FROM tablename;
--删除函数
DROP FUNCTION IF EXISTS func;
--创建存储过程/函数之循环语句
--loop 的使用 --repeat 的使用
DELIMITER //
CREATE PROCEDURE pro1(IN i INT)
BEGIN
SET @k=0;
flag:LOOP SET @k=i+@k; REPEAT
SET i=i+1; SET @k=i+@k;
IF i=5 THEN SET i=i+1;
LEAVE flag; UNTIL i=5 END REPEAT;
END IF; end repeat;
END LOOP; SELECT @k;
SELECT @k;
END//
DELIMITER ;
--赋值
SET @i=1;
--调用存储过程
CALL pro1(@i);
--删除存储过程
DROP PROCEDURE pro1;