什么是MySQL中的存储过程? [重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

我一直在研究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

所以你可以很少描述这个。

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

mysql function
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.