什么是MySQL中的存储过程?

时间:2017-09-20 12:32:29

标签: mysql function

我一直在研究MySQL功能。 在研究函数时,我看到了名为“MySQL存储函数”的函数。

这是我不明白这两件事的例子。 一个是

SELECT 
    customerName, CustomerLevel(creditLimit)
FROM
    customers
ORDER BY customerName;

第二个是

DELIMITER $$

CREATE FUNCTION CustomerLevel(p_creditLimit double) RETURNS VARCHAR(10)
    DETERMINISTIC
BEGIN
    DECLARE lvl varchar(10);

    IF p_creditLimit > 50000 THEN
 SET lvl = 'PLATINUM';
    ELSEIF (p_creditLimit <= 50000 AND p_creditLimit >= 10000) THEN
        SET lvl = 'GOLD';
    ELSEIF p_creditLimit < 10000 THEN
        SET lvl = 'SILVER';
    END IF;

 RETURN (lvl);
END

所以你可以很少描述这一点。

但根据这个例子,我需要的帮助很少。 感谢。

1 个答案:

答案 0 :(得分:0)

Tarang,SQL有一些内置功能,如TRIM,REVERSE,SUM,MIN等。您可以在select语句中使用这些函数。但是如果你想要一个没有内置的函数(即不是SQL标准或供应商提供的一部分),那么你必须编写自己的函数。 MySQL存储函数是用户定义的函数,它们(通过引擎)编译并准备在Select语句中调用。使用“CALL”语句调用存储过程(稍有不同)。请参考一些基本的SQL教程或书籍,它们应该为您清楚说明。在您的示例中,您必须通过运行代码示例的第二部分来创建函数“CustomerLevel”,然后运行SELECT语句。