12.子程序的高级特性3

来源:互联网 发布:首届全球程序员节奖金 编辑:程序博客网 时间:2024/06/08 13:23

来源:网易云课堂《精通MySQL存储过程、函数和触发器》课程

讲师:huangxifeng607(黄锡峰)


笔记:


(1)sql security特性


delimiter $$create procedure testa()sql security definer | invokerbegindeclare aa int;select sleep(30) into aa;end;$$delimiter ;

(2)sql security特性特点

1.sql security 特性说明子程序运行使用创建者的许可来执行,还是使用调用者的许可来执行,默认值是definer


2.当sql security是definer时,即使是普通的只读用户,只要有这个存储过程的execute权限,那么也能以root@'localhost'的用户来

运行存储过程进行更新操作


(3)小结

1.sql security特性决定是谁的身份来运行子程序

2.这意味着可以使用没有更新权限的只读用户来执行有更新语句的存储函数