Mysql产生一个随机数时,报Recursive stored functions and triggers are not allowed.

 在mysql中写函数时,不会出现这个错误,即编译通过,但是在执行的时候,只要执行如下中的if ,则会报错Recursive stored functions and triggers are not allowed.

/*生成一个比parNum小的随机数*/

DELIMITER $$

CREATE  FUNCTION `fun_pro_random_num`(parNum INT)
    RETURNS  INT
    BEGIN
          DECLARE tmp INT DEFAULT FLOOR(RAND()*parNum);
        IF tmp=0 THEN
            RETURN fun_pro_random_num(parNum);
        ELSE
                RETURN tmp;   
        END IF;
    END$$
DELIMITER ;


百度一翻,原来是mysql中函数不支持递归调用,仅仅在存储过程中支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值