mysql儲存過程

2021-08-04 21:41:58 字數 2717 閱讀 2138

1.儲存過程 

我的理解是儲存過程是乙個運算元據庫的函式 , 定義在資料庫服務中 , 一般經常性的操作寫在資料庫服務中,提供給使用者使用

儲存過程可以包括   資料操縱語句  變數  邏輯控制語句 

儲存過程的優點 : 

執行速度快      因為避免了jdbc的sql的傳送,檢測語句是否可執行等操作

允許模組化程式設計

提高系統安全性   避免使用者對資料庫的隨意操作,敏感操作寫在儲存過程中,在儲存過程中進行邏輯判斷,減少使用者的誤操作

減少網路流通量     減少jdbc不斷的單條傳輸

儲存過程語法:

create  procedure 

儲存過程名 (

引數型別

引數名   資料型別,

引數型別  引數名  資料型別……

) begin

sql語句

end

建立不帶引數的儲存過程

create procedure

proc_failstudent()

begin

select * from student where

stunoin

(select distinct

stuno

from score where score<60);

end;

•call(執行)語句用來呼叫儲存過程

•呼叫的語法

call  過程名  [引數]

•儲存過程的引數分三種:

–輸入引數in

–輸出引數out

–輸入輸出引數

create procedure

proc_deletestudent (

in 

delstuno

int )

begin

delete from student where

stuno

=delstuno;

end;

create procedure

proc_gradestudentcount (

in gradenum

int,  

out

studentcount

int )

begin

set

studentcount

=(select count(*) from student where

gradeid

=gradenum);

end;

/*---呼叫儲存過程----*/

--變數必須加@,屬於使用者變數,只對當前使用者的客戶端有效

set@num=0;

callproc_gradestudentcount(1701,@num);

select@num;

/*---呼叫儲存過程----*/

--變數必須加@,屬於使用者變數,只對當前使用者的客戶端有效

set@num=0;

callproc_gradestudentcount(1701,@num);

select@num;

儲存過程帶有引數的可以使用多個引數

create procedure proc_new7

(in number int,    

in sname varchar(40),    

in *** varchar(40),        

in tel varchar(20),

out num int    ,

out haha int    , 

out mengmengda int

)                           

begin

set num=(select count(*) from news where newsid = 3);   

set haha=(select count(*) from news where newsid = 3); 

set mengmengda=(select count(*) from news where newsid = 3);

end;

call proc_new7(1,'虎皮','3','4',@num1,@num2,@num3);

set @num1=0 , @num2=0 ,@num3=0;

call proc_new7(1,'虎皮','3','4',@num1);

select @num1 , @num2 ,@num3;

定義了三個引數就要用三個引數進行接收

否則會出錯

mysql儲存過程 MySQL儲存過程

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

mysql 儲存過程 mysql 儲存過程

建立 為建立儲存過程的結束標誌,使用delimiter 可更改標誌 格式create procedure begin sqlend create procedure myprocedure in param integer begin select from tb role where tb rol...

mysql 儲存過程 MySQL儲存過程

目錄 儲存過程 簡介是一組為了完成特定功能的sql語句集合 比傳統sql速度更快 執行效率更高 儲存過程的優點 執行一次後,會將生成的二進位制 駐留緩衝區,提高執行效率 sql語句加上控制語句的集合,靈活性高 在伺服器端儲存,客戶端呼叫時,降低網路負載 可多次重複被呼叫,可隨時修改,不影響客戶端呼叫...