使用存儲過程
來源:懂視網
責編:小采
時間:2020-11-09 14:58:21
使用存儲過程
使用存儲過程:什么是存儲過程 存儲過程簡單來說,就是為以后的使用而保存的一條或多條MySQL語句的集合??蓪⑵湟暈榕募?,雖然他們的作用不僅限于批處理。像定義了一個函數,可以傳入傳出參數,函數內部進行一定的計算。(本文是針對MySQL進行學習和試驗的) 為什么要使
導讀使用存儲過程:什么是存儲過程 存儲過程簡單來說,就是為以后的使用而保存的一條或多條MySQL語句的集合??蓪⑵湟暈榕募m然他們的作用不僅限于批處理。像定義了一個函數,可以傳入傳出參數,函數內部進行一定的計算。(本文是針對MySQL進行學習和試驗的) 為什么要使
什么是存儲過程 存儲過程簡單來說,就是為以后的使用而保存的一條或多條MySQL語句的集合??蓪⑵湟暈榕募?,雖然他們的作用不僅限于批處理。像定義了一個函數,可以傳入傳出參數,函數內部進行一定的計算。(本文是針對MySQL進行學習和試驗的) 為什么要使
什么是存儲過程
存儲過程簡單來說,就是為以后的使用而保存的一條或多條MySQL語句的集合??蓪⑵湟暈榕募m然他們的作用不僅限于批處理。像定義了一個函數,可以傳入傳出參數,函數內部進行一定的計算。(本文是針對MySQL進行學習和試驗的)
為什么要使用存儲過程
1. 通過把處理封裝在容易使用的單元中,簡化復雜的操作 2. 由于不要求反復建立一系列處理步驟,這保證了數據的完整性。 3. 簡化對變動的管理。
創建存儲過程
創建一個非常簡單的存儲過程,返回產品平均價格的存儲過程:
CREATE PROCEDURE productpricing() BEGIN SELECT Avg(prod_price) AS priceaverage FROM products; END//
調用存儲過程比較簡單:
刪除存儲過程: DROP PROCEDURE productpricing;
使用參數
例1
以下是productpricing的修改版本 CREATE PROCEDURE productpricing( OUT pl DECIMAL(8,2), OUT ph DECIMAL(8,2), OUT pa DECIMAL(8,2) ) BEGIN SELECT Min(prod_price) INTO pl FROM products; SELECT Max(prod_price) INTO ph FROM products; SELECT Avg(prod_price) INTO pa FROM products; END//
調用存儲過程 CALL productpricing(@pricelow, @pricehigh, @priceaverage)//
顯示調用結果:
例2
下面這個例子比較有實際意義,創建一個存儲過程,傳入訂單號,返回該訂單總金額:
CREATE PROCEDURE ordertotal( IN onumber INT, OUT ototal DECIMAL(8,2) ) BEGIN SELECT Sum(item_price*quantity) FROM orderitems WHERE order_num = onumber INTO ototal; END //
調用存儲過程:
CALL ordertotal(20005, @total) //
顯示結果;
建立智能存儲過程
考慮建立如下存儲過程,計算訂單合計,不過對該訂單要加增值稅,但是又不是針對所有顧客都要加增值稅。因此有如下工作: 1. 獲得合計 2. 把增值稅有條件的添加到合計 3. 返回合計
存儲過程的完整工作如下:
調用該存儲過程時需要輸入訂單編號,是否收稅,最后的結果存在哪里:
使用SHOW PROCEDURE STATUS可以查看存儲過程狀態:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
使用存儲過程
使用存儲過程:什么是存儲過程 存儲過程簡單來說,就是為以后的使用而保存的一條或多條MySQL語句的集合。可將其視為批文件,雖然他們的作用不僅限于批處理。像定義了一個函數,可以傳入傳出參數,函數內部進行一定的計算。(本文是針對MySQL進行學習和試驗的) 為什么要使