在shell中我一直在尝试创建下面的集成POWER函数,但我无法让它工作。我确信语法在逻辑上是正确的,除非我错过了逗号。它在PHPMyAdmin或Shell上都不起作用:
DELIMITER //
CREATE FUNCTION exponent( m FLOAT, n FLOAT)
RETURNS FLOAT ;
BEGIN
DECLARE a FLOAT;
a=POW(m,n);
RETURN a;
END ; //
答案 0 :(得分:0)
在MySQL存储程序中为声明的过程变量赋值的语法使用SET
关键字:
DECLARE a INTEGER ;
SET a = expr ;
-- ^^^
答案 1 :(得分:0)
我在SO外面得到了答案。问题是我使用INT而不是FLOAT作为数据类型。 RETURNS FLOAT也没有分号。完整的工作代码是:
DELIMITER //
CREATE FUNCTION exponent(m FLOAT,n FLOAT)
RETURNS FLOAT
BEGIN
DECLARE a FLOAT ;
SET a=POWER(m,n);
RETURN a;
END; //
使用代码是:
DELIMITER ;
SELECT exponent(variable1, variable 2);
问题已得到解答,现在可以关闭。