1. 首先呢,我這里給出存儲過程的定義,到底什么是存儲過程。
存儲過程是指,在大型數據庫系統中,為了提高數據庫操作的效率和SQL代碼的封裝,完成特定功能的SQL語句集,
存儲在數據庫中,經過第一次編譯后,再次調用不需要再次編譯,用戶只需指定存儲過程名字並給定參數就可以執行完成任務。
2. 接下來怎么創建存儲過程呢?
這里有一張表 grade,里面有幾行數據。創建存儲過程語法
create procedure 存儲過程名(參數) //這里參數有三種,in 要輸入的參數,out 輸出的參數 ,inout 輸入輸出的參數
begin
sql語句集 //因為sql語句集中需要使用 ;分號結尾,那么我把整個存儲過程結尾符號改成#
end
使用 dilimiter $在當前窗口就改好了
例如我創建下面的不帶參數的存儲過程
delimiter # create procedure show_grade() begin select * from grade; select * from grade order by score desc; end$ delimiter ;
3.創建帶參數的存儲過程格式,傳入學生的id,返回學生的分數
create procedure show_grade_by_sid(in id int,out score out) //前面的in可以省略,省略默認是in類型
begin
end#
4.用同一個變量名作為inout參數,如下:
意思就是存儲過程的創建啦。
要刪除存儲過程用 drop命令
drop procedure pro_inout_test