您的位置:首页 > 数据库 > MySQL

修改mysql存储过程的权限调用权限 definer invoker

2017-07-24 00:00 351 查看
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的时候。任何人调用都是可以的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: