【问题标题】:Cant understand my syntax mistake in MySQL CREATE FUNCTION无法理解我在 MySQL CREATE FUNCTION 中的语法错误
【发布时间】:2022-07-07 21:50:27
【问题描述】:

这是我的代码,我找不到错误!我正在尝试创建一个函数,它将一个值与输入参数相乘并返回该结果!应该没那么难,但我没有发现我的语法错误

CREATE FUNCTION `Costotramite` (monto INT)
    RETURNS INTEGER
    BEGIN
        NO SQL
        DECLARE porcentaje FLOAT;
        SET porcentaje = 0.1;
        DECLARE CostoLicitacion INTEGER;
        SET CostoLicitacion= (monto * porcentaje);
        RETURN CostoLicitacion;
    END

错误提示:错误代码1064

【问题讨论】:

    标签: mysql sql function


    【解决方案1】:

    DECLARE 必须在代码之前。

    我也将其更改为确定性

    CREATE FUNCTION `Costotramite` (monto INT)
    RETURNS INTEGER
    DETERMINISTIC
    BEGIN
    
      DECLARE porcentaje FLOAT;
      DECLARE CostoLicitacion INTEGER;
      SET porcentaje = 0.1;
      SET CostoLicitacion= (monto * porcentaje);
      RETURN CostoLicitacion;
    END
    
    SELECT Costotramite(1000)
    
    |石榴石(1000) | | -----------------: | | 100 |

    db小提琴here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-30
      • 1970-01-01
      • 2017-03-20
      • 2012-02-19
      • 2012-07-08
      • 1970-01-01
      相关资源
      最近更新 更多