個人的一些學習總結,各位大牛給指正指正。儲存過程的含義
一組預先編譯好的sql語句的集合。
優點:
1、提高**的重用性。
2、簡化**編寫。
3、減少了編譯次數和伺服器的連線次數,提公升了效率。
格式
create
procedure 儲存過程名稱(引數列表)
begin
儲存過程體(一組sql語句)
end
注意點:
引數包含三個部分:引數模式、引數名、引數型別
#舉例
create
procedure myp1(
in stu_name varchar(20
))begin
end
引數模式總共有三種
儲存過程編寫規則
#建立無參儲存過程,往admin表中插入5筆資料。
#將$作為結束符
delimiter $;
create
procedure myp1(
)begin
insert
into admin(username,password)
values
('jhon'
,'123'),
values
('lucy'
,'123'),
values
('lili'
,'123'),
values
('tom'
,'123'),
values
('rose'
,'123');
end $
-- -------------------帶in模式 兩個引數的儲存過程-------------------
#傳入使用者名稱和密碼,顯示使用者是否登入成功
delimiter $;
create
procedure myp3(
in user_name varchar(20
),in pass_word varchar(20
))begin
declare result int
;#定義區域性變數,接收查詢結果
select
count(*
)into result
from admin
where username = user_name and password = pass_word;
#檢視變數result的值,如果不為0,說明資料中有此使用者,輸入success
select
if(result>0,
'success'
,'fail');
end $
-- -------------------帶out模式引數 的儲存過程-------------------
#傳入使用者名稱和密碼,返回使用者登入成功或失敗的訊息
delimiter $;
create
procedure myp4(
in user_name varchar(20
),in pass_word varchar(20
),out res varchar(10
))begin
declare result int
;#定義區域性變數,接收查詢結果
select
count(*
)into result
from admin
where username= user_name and password = pass_word;
select
if(result>0,
'success'
,'fail'
)into res;
end $
#呼叫上建立的myq1儲存過程
call myp1();
call myp3(
'tom'
,'123');
#有返回引數
call myp4(
'rose'
,'123'
,@result);
#檢視返引數的值
select
@result
;
#刪除單個
drop
procedure myp3;
#刪除多個
drop
procedure myp3,myp4;
show create procedure 儲存過程名
show
create
procedure myp3;
自學Mysql 儲存過程 判斷和迴圈語句
case 用case解決傳入的值是否是數字 create procedure test case num int,out flag varchar 20 begin case num 類似於swtich when num 0 then set flag 是正數 when num 0 then set...
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...