时间:2021-07-01 10:21:17 帮助过:42人阅读
存储函数和存储过程不同的地方有以下几点:
1.函数的参数列表中模式只能为IN。
2.函数必须返回一个值,它的类型被定义于函数的头部
3.函数能被SQL语句所调用
4.函数可能不返回任何结果集
DELIMITER $$DROP FUNCTION IF EXISTS discount_price$$CREATE FUNCTION discount_price normal_price NUMERIC(8, 2) RETURN NUMERIC(8, 2) DETERMINISTICBEGIN DECLARE v_discount_price NUMERIC(8, 2); IF (normal_price > 500) THEN SET discount_price = normal_price * .8; ELSE IF (normal_price > 1000) THEN SET discount_price = normal_price * .9; ELSE SET discount_price = normal_price; END IF; RETURN (discount_price);END$$