12 子程式的高階特性3

2021-08-09 03:10:37 字數 570 閱讀 5567

講師:huangxifeng607(黃錫峰)

筆記:(1)sql security特性

delimiter $$

create procedure testa()

sql security definer | invoker

begin

declare 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.這意味著可以使用沒有更新許可權的唯讀使用者來執行有更新語句的儲存函式

10 子程式的高階特性1

講師 huangxifeng607 黃錫峰 筆記 1 deterministic特性 delimiter create procedure testa not deterministic begin declare my uid int default 0 select uid into my ui...

11 子程式的高階特性2

講師 huangxifeng607 黃錫峰 筆記 1 函式的唯讀高階特性 delimiter create function testa returns int reads sql data begin declare my uid int select uid into my uid from h...

mysql子程式的高階特性(一)

delimiter create procedure test prod not deterministic begin update test score set score 6 where id 5 limit 1 end delimiter not deterministic 表示子程式包含了...