修改mysql存储过程的权限调用权限 definer invoker
修改mysql存储过程的权限调用权限 definer invoker
bengozhong 发表于7个月前
修改mysql存储过程的权限调用权限 definer invoker
  • 发表于 7个月前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

CREATE DEFINER=`root`@`%` FUNCTION `request_count`(`p_id` INT) RETURNS int(11)
    READS SQL DATA
    COMMENT 'Active request count for a product'
BEGIN
    DECLARE request_count INTEGER;
    
    SELECT
        COUNT(request_id)
        
    INTO
        request_count

    FROM tbl_request
    LEFT JOIN tbl_reviewer USING (reviewer_id)
    
    WHERE
        tbl_request.emailed=0 AND
        tbl_request.hidden=0 AND
        tbl_request.confirmed=0 AND
        tbl_reviewer.banned=0 AND
        tbl_reviewer.active_vouchers < tbl_reviewer.max_active_vouchers*2 AND
        tbl_request.product_id=p_id;

    RETURN request_count;
END

 

对于definer来说就是定义这个函数是哪个用户定义的。定义的用户拥有它的调用权。

如果想要给别人调用可以设置


当函数被定义成invoker的时候。任何人调用都是可以的

 

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 16
博文 406
码字总数 421611
×
bengozhong
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: