存儲(chǔ)過程就是mysql中的函數(shù)
1. 語法:
注意 在存儲(chǔ)過程中 需要使用分號(hào)來結(jié)束一行 但是分號(hào)有特殊含義
得將原始的結(jié)束符 修改為其他符號(hào)
delimiter // 結(jié)束符更換為//
create procedure 過程名稱 ({in | out | inout} 數(shù)據(jù)類型 參數(shù)名稱)
begin
sql代碼
end //
DELIMITER ; 結(jié)束符更換為;
參數(shù)介紹:
in 表示該參數(shù)用于傳入數(shù)據(jù)
out 用于返回?cái)?shù)據(jù)
inout 即可傳入 也可返回
參數(shù)類型是 mysql中的數(shù)據(jù)類型
2. 流程控制
語法:
if 條件 then
代碼
elseif 條件 then
代碼
else then
代碼
end if;
3. 案例
案例一: 接收阿拉伯?dāng)?shù)字 打印大寫的漢字
創(chuàng)建存儲(chǔ)過程
delimiter //
create procedure show_p (in a int)
begin
if a = 1 then
select "壹";
elseif a=2 then
select "貳";
else
select "other"
end if;
end //
delimiter ;
調(diào)用
call show_p(2);
案例二 案例:創(chuàng)建一個(gè)存儲(chǔ)過程 作用是將兩個(gè)整數(shù)相加 將結(jié)果保存在變量中
定義一個(gè)變量
set @su = 100;
創(chuàng)建存儲(chǔ)過程
delimiter //
create procedure add_p3 (in a int,in b int,out su int)
begin
set su = a + b;
end //
delimiter ;
調(diào)用
call add_p4(10,20,@su);
select @su; 查看結(jié)果