mysql儲存過程和函式

2021-09-24 21:33:14 字數 1575 閱讀 2821

儲存過程和函式

好處:1、提高**的重用性

2、簡化操作

儲存過程:一組預先編譯號的sql語句的集合,理解成批處理語句

1、提高**的重用性

2、簡化操作

3、減少了編譯次數並且減少了和資料庫伺服器的鏈結次數,提高了效率

一、建立語法

create procedure  儲存過程名(引數列表)

begin 

方法體(一組合法的sql語句)

end

注意:1、引數列表包含三部分

引數模式      引數名           引數型別

引數模式:

in              該引數可以作為輸入,也就是該引數需要呼叫方傳入值

out          該引數可以作為返回值,也就是該引數可以作為返回值

inout      該引數既可以作為輸入又可以作為輸出,也就是該引數既需要傳入值,又可以返回值

2、如果儲存過程僅僅只有一句話,begin   end可以省略

儲存過程體中的每條sql語句的結尾要求必須加分號,儲存過程的結尾可以使用delimiter重新設定

語法:delimiter     結束標記

例:delimiter   $

二、呼叫語法

call    儲存過程名(實參列表);

示例:1、空參列表         

//建立

delimiter  $      //結束標記

create procedure aaa()

begin

insert into admin(name,pass) values('qqq','1111'),('aaa','1111'),('aaa','1111'),('aaa','1111'),('aaa','1111');

end $

//呼叫

call aaa() $

2、建立帶in模式引數的儲存過程

create procedure bbb(in bname  varchar(20))

begin

sql語句塊

end $

//呼叫

call bbb('小明') $

3、建立帶out模式的儲存過程

4、建立帶inout模式引數的儲存過程

5、刪除儲存過程

語法:drop procedure 儲存過程名

6、檢視儲存過程的資訊

show create procedure 儲存過程名

mysql 過程和函式 MySQL 儲存過程和函式

變數 系統變數 變數由系統提供,不是使用者自定義的,屬於伺服器層面 全域性變數 會話變數 如果是全域性級別,則需要加global,如果是會話級別,則需要加session,如果不寫,則預設是會話 檢視全域性變數 show global variables show global variablesli...

MySQL儲存過程和儲存函式

儲存過程和儲存函式 mysql的儲存過程 stored procedure 和函式 stored function 統稱為stored routines。1.儲存過程和函式的區別 函式只能通過return語句返回單個值或者表物件。而儲存過程不允許執行return,但是通過out引數返回多個值。函式是...

Mysql 儲存過程和函式

一 儲存過程 procedure 本質上沒區別,執行的本質都一樣。只是函式有如 只能返回乙個變數的限制。而儲存過程可以返回多個。函式是可以嵌入在sql中使用的,可以在select中呼叫,而儲存過程要讓sql的query 可以執行,需要把 mysql real connect 的最後乙個引數設定為cl...