mysql儲存過程應用 MySQL儲存過程使用解析

2021-10-18 22:13:25 字數 3040 閱讀 3399

mysql儲存過程

儲存過程(stored procedure)是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件。目的是為了完成特定功能的sql語句集,經編譯建立並儲存在資料庫中,使用者可通過指定儲存過程的名字並給定引數(需要時)來呼叫執行。說白了就是資料庫 sql語言層面的**封裝與重用。建立的儲存過程通常儲存在資料庫的資料字典中。

1.建立儲存過程

createprocedure儲存過程名(引數列表)

begin

儲存過程體(一組合法的sql語句)

end引數列表包含3個部分:

引數模式 引數名 引數型別。

舉例:in userid varchar(20)

引數模式有3個:

in:傳入接收

out:輸出,作為返回值

inout:既可以作為輸入,也可作為輸出

begin ... end 使用:

如果儲存過程體僅有一句話,begin end 可以不寫

儲存過程的每條sql語句結尾必須加分號結束

儲存過程的結尾使用delimiter重新設定

delimiter $

2.呼叫儲存過程語法

call 儲存過程名(引數列表)

3.建立和呼叫案例解析

①.空引數列表

# 空引數儲存過程案例

# 建立儲存過程

delimiter $ #修改儲存過程的結束識別符號號

createproceduremyp1()

begin

insertintodemo01

(id,name,age,***)

values

(10011,"jalen",27,1),

(10021,"xiar",26,1),

(10031,"heli",24,0),

(10041,"weiwei",28,1);

end$

delimiter ; #把結束標識改回去

# 呼叫儲存過程

call myp1();

# 檢視表結果

②.in模式引數的儲存過程

輸入單個引數的儲存過程

# 2.1in模式引數的儲存過程,輸入單個引數

# 建立儲存過程

delimiter $

createproceduremyp2(ininnamevarchar(20) )

begin

select*fromdemo01wherename= inname;

end$

delimiter ; #把結束標識改回去

# 呼叫儲存過程

輸入多個個引數的儲存過程

# 2.2in模式引數的儲存過程,輸入多個引數

# 建立儲存過程

delimiter $

createproceduremyp3(ininageint,inin***int)

begin

declareresvarchar(20)default""; # 申明乙個區域性變數res

selectnameintores # 賦值

fromdemo01

whereage = inageand*** = in***;

selectres; #使用區域性變數

end$

delimiter ;

# 呼叫儲存過程

③.out模式引數的儲存過程

# 3.out模式引數的儲存過程

#建立儲存過程

delimiter $ #修改儲存過程的結束標識

createproceduremyp4(innamevarchar(20),outageint,out***int)

begin

select

demo01.age,demo01.*** intoage,***

from

demo01

wheredemo01.name=name;

end$

delimiter ;

#呼叫call myp4("jalen",@age,@***);

④.inout模式引數的儲存過程

# 4.inout模式引數的儲存過程

#建立儲存過程

delimiter $ #修改儲存過程的結束標識

createproceduremyp5(inout mint,inout nint)

begin

setm := m+10;

setn := n+10;

end$

delimiter ;#改回原有的結束標識分號

# 呼叫

4.刪除儲存過程

語法:drop procedure 儲存過程名稱

注意:一次只能刪除乙個儲存過程

案例:drop procedure myp1;

5.檢視儲存過程的資訊

show create procedure 儲存名;

點讚 0

Mysq 儲存過程

drop procedure if exists xl 建立儲存過程 delimiter 轉譯字元 使用 代替 create procedure xl begin select from fd car report end delimiter 轉譯字元 使用 代替 call xl 呼叫儲存過程 de...

MYSQL 儲存過程應用 2 11 9

下面的應用有使用引數 1.用if.then.elseif.delimiter drop procedure if exists demodb sp2 create procedure sp2 in pid varchar 10 begin declare strsql varchar 100 if ...

mysql儲存過程 MySQL儲存過程

在本節中,您將逐步學習如何在mysql中編寫和開發儲存過程。首先,我們向您介紹儲存過程的概念,並討論何時使用它。然後,展示如何使用過程 的基本元素,如建立儲存過程的語句,if else,case,loop,儲存過程的引數。下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可...