文档章节

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

bengozhong
 bengozhong
发布于 2017/07/24 14:15
字数 141
阅读 5
收藏 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的时候。任何人调用都是可以的

 

 

© 著作权归作者所有

共有 人打赏支持
bengozhong
粉丝 16
博文 411
码字总数 424949
作品 0
深圳
程序员
MySQL入门很简单-学习笔记 - 第14章 存储过程和函数

避免编写重复的语句 安全性可控 执行效率高 14.1、创建存储过程和函数 14.1.1、创建存储过程 CREATE PROCEDUREspname ([procparameter[,...]]) [characteristic...] routine_body procedure ...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

MySQL 存储过程和函数

2016-02-19 17:42 by pursuer.chen,23679 阅读,0 评论,收藏,编辑 概述 一提到存储过程可能就会引出另一个话题就是存储过程的优缺点,这里也不做讨论。因为mysql中存储过程和函数的语法非常接...

长征6号 ⋅ 2014/12/05 ⋅ 0

mysql 常见错误解决方式

mysql 1449 : The user specified as a definer ('root'@'%') does not exist 分析: 一般是由于root用户对全局host无访问权限。因此只要给root用户添加一个访问权限即可。 解决方式: grant...

leon_tan ⋅ 2015/09/07 ⋅ 0

8、MySLQ存储过程

简述 存储过程是SQL语句和控制流语句的语句串(语句集合)。它不仅可以带有输入 参数还可以带有输出参数,存储过程是能够通过介绍参数向调用者返回结果集,结果集的格式由调用者确定。返回状...

CARYFLASH ⋅ 2017/11/26 ⋅ 0

Mysql视图权限设置的踩坑经历

1.事件背景 今天临近中午饭点时,开发同事发来需求,在mariadb库创建两个视图,要求指定帐号有只读权限。 很简单的需求,连上服务器,两条grant命令一刷,fulsh privileges 回车,楼主就安心...

赵文强Lynn ⋅ 04/16 ⋅ 0

MySQL数据库新特性之存储过程入门教程

MySQL数据库新特性之存储过程入门教程 在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力。在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用户...

vga ⋅ 2014/07/21 ⋅ 0

一次mysql 用户不存在的报错

前阵回收生产帐号的访问范围,即之前是xxx@"%"的帐号命名方式,修改成若干个以前端应用部署的机器IP为准,修改成xxx@"IP address"。尽量减少不可信客户端连接数据库的情况发生,加强数据安全...

Jenkin_lin ⋅ 2017/03/26 ⋅ 0

Mysql修改存储过程相关权限问题

Mysql的存储过程相关权限问题 在使用mysql数据库经常都会遇到这么一个问题,其它用户定义的存储过程,现在使用另一个用户却无法修改或者删除等;正常情况下存储过程的定义者对它有修改、删除...

yunlielai ⋅ 2017/11/06 ⋅ 0

九、MySQL存储过程和函数

存储过程就是一条或者多条SQL语句的集合,可视为批文件,但是其作用不仅限于批处理。 9.1、创建存储过程和函数 存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别是...

运维菜鸟丶 ⋅ 2017/08/04 ⋅ 0

mysql存储过程和函数

1.创建存储过程和函数... 2 1.1 创建存储过程... 2 1.2 创建存储函数... 3 2.变量的使用... 4 2.1 定义变量... 4 2.2 为变量赋值... 4 3.定义条件和处理程序... 4 3.1 定义条件... 5 3.2 定义...

Magicleesir ⋅ 2014/09/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 28分钟前 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

【转】JS浮点数运算Bug的解决办法

37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) 我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 怎么会这样,两个只有一位小数的数字相乘,怎...

NickSoki ⋅ 今天 ⋅ 0

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 今天 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 今天 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部