什麼是預存程序?
預存程序(Stored Procedure)是一種在資料庫中儲存複雜程序,以便外部程式呼叫的一種資料庫物件。
預存程序是為了完成特定功能的SQL語句集,經過編譯建立並保存在資料庫中,使用者可以透過指定預存程序的名字並給定參數(需要時)來呼叫。
預存程序思想上很簡單,就是資料庫SQL語言層面的程式碼封裝重複使用。
預存程序的優點:
#預存程序可封裝,並隱藏複雜的商業邏輯。
預存程序可以回傳值,並且可以接受參數。
預存程序無法使用select指令來運行,因為它是子程序,與檢視表,資料表或使用者定義函數不同。
預存程序可以用在資料檢驗,強制實施商業邏輯等。
儲存過程的缺點:
#儲存過程,往往客製化於特定的資料庫上,因為支援的程式語言不同。切換到其他廠商的資料庫系統時,就需要重寫原有的預存程序。
預存程序的效能調校與撰寫,受限於各種資料庫系統。
預存程序的建立與呼叫
#預存程序就是有名字的一段程式碼,用來完成一個特定的功能。
建立預存程序保存在資料庫的資料字典中。
create procedure 存储过程名称(in|out|inout 参数名称 参数类型,……) begin 过程体; end
建立預存程序
create procedure getStudentCount() begin select count(*) as num from student where classid=8; end
預存程序的查詢、修改、刪除
1 、查詢
查詢所有預存程序狀態
show procedure status;
查看對應資料庫下所有預存程序狀態
show procedure status where db="数据库名";
查看名稱包含Student的預存程序狀態
show procedure status where name like "%Student%";
查詢預存程序詳細程式碼
show create procedure 过程名;
2、修改
alter procedure 过程名([过程参数[,…]])过程体;
3、刪除
drop procedure 过程名;
註:不能在一個儲存過程中刪除另一個預存程序,只能呼叫另一個預存程序。
呼叫預存程序
mysql預存程序用call和過程名以及一個括號,括號裡面依需要,加入參數,參數包含輸入參數、輸出參數、輸入輸出參數呼叫。
call 存储过程名([过程参数[,...]])
以上是【MySql教學】輕鬆帶你了解預存程序及使用方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!