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

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的时候。任何人调用都是可以的

 

 

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