修改mysql存储过程的权限调用权限 definer invoker
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
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來說就是定義這個函數(shù)是哪個用戶定義的。定義的用戶擁有它的調用權。
如果想要給別人調用可以設置
當函數(shù)被定義成invoker的時候。任何人調用都是可以的
?
?
轉載于:https://my.oschina.net/u/588516/blog/1486197
總結
以上是生活随笔為你收集整理的修改mysql存储过程的权限调用权限 definer invoker的全部內容,希望文章能夠幫你解決所遇到的問題。