mysql儲存過程 儲存函式 觸發器 事件

2021-08-29 16:14:09 字數 1142 閱讀 9304

前言

資料庫本身支援儲存過程,不同的資料庫管理系統對儲存過程的支援都不盡相同

從mysql5.0開始,mysql支援儲存過程/儲存函式/觸發器/事件

使用儲存過程的優點

儲存過程執行一次後,其執行的規劃就駐留在高速緩衝儲存器上,以後再次呼叫儲存過程時,只需從高速緩衝儲存器中呼叫以編譯好的二進位制**執行,提高系統效能

(也就是說,sql本質上是編譯型語言,儲存過程這個程式用sql語句寫好之後,將sql語句進行編譯,編譯得到二進位制**可以直接執行在機器上,無需再次編譯,一次編譯就可以在機器上無數次執行,這就是儲存過程的優點)

對儲存過程的理解?

sql語句能在計算機上執行,本質上也是轉換成機器碼了,sql是一門編譯型語言

儲存過程就像是乙個函式,有輸入引數,有返回值

如何使用儲存過程?

delimiter //

show procedure status

create procedure ***(in 引數名 引數型別)

begin

sql....................

end呼叫儲存過程

call xx(引數)

刪除儲存過程

drop procedure ***

宣告區域性變數declare xx 型別;

使用set為區域性變數賦值set xx=值;

流程控制語句if  ...then  ....elseif...   then  ...else

儲存函式

儲存函式包含returns語句,儲存過程沒有returns語句

建立儲存函式

create function xx(引數)

return type

delimiter //

create function ***()

returns integer

begin

returns (select count(*) from xx);

end 

儲存函式建立之後就如同系統提供的內建函式一樣呼叫即可

select ***();

drop function ***;;

mysql查詢儲存過程,函式,觸發過程

查詢資料庫中的儲存過程和函式 select name from mysql.proc where db xx and type procedure 儲存過程 select name from mysql.proc where db xx and type function 函式 show proce...

MYSQL函式 儲存過程 觸發器

自定義函式是一種與儲存過程十分相似的過程式資料庫物件。它與儲存過程一樣,都是由 sql 語句和過程式語句組成的 片段,並且可以被應用程式和其他 sql 語句呼叫。自定義函式與儲存過程之間存在幾點區別 可以使用 create function 語句建立自定義函式。語法格式如下 create funct...

mysql儲存過程,函式,觸發器例子

1,分割乙個用 間隔的字串的儲存過程 create procedure sp insertjoke lastindex int begin declare i int set i 1 while i0 do begin set part1 mid a,1,p 1 insert myjoke cont...