存儲過程(Stored Procedure)是在大型數據庫系統中,一組為了完成特定功能的SQL 語句集,存儲在數據庫中,經過第一次編譯后調用不需要再次編譯,用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是數據庫中的一個重要對象。
存儲過程大體語法結構:
delimiter //表示用//結束存儲過程的聲明,因為mysql默認是以分號;作為語句結束的
create procedure procedurename(in myname varchar(20),out myid int,inout sex char)存儲過程包含三個參數,分別是in,out,inout分別對應輸入,輸出,輸入輸出參數
begin表示存儲過程的開始
declare i.....表示聲明變量,就像int i=0一樣,不過存儲過程是反過來的,例如聲明一個默認值為0的int型變量 declare i int default 0;
set 賦值語句.....表示賦值語句,例如將i賦值為1 set i=1;
sql語句......這里就是編寫你要操作的sql語句了,簡單查詢,多表,子查詢,都是在這里寫
if ...then .....[else if ..then... ] else ....end if;條件控制語句,if....else
while do..表示while條件循環,while 表達式 do 執行語句 end while;
loop....有點類似於continue,結束此次循環跳轉到開頭重新執行下一次,標簽名稱:loop 執行語句 end loop 標簽名稱;
end
//
整個存儲過程大體結構如上,這是最基本的,還有更復雜的....
調用存儲過程:
set @myname='jason';表示的是設置這個變量,格式就是這樣的。。。
set @myid=1;
set @sex='男';
call procedurename(@myname,@myid,@sex);
刪除存儲過程:
drop procedure procedurename;
整個存儲過程從創建到刪除,大體流程就是這樣的
