本文主要給大家簡單講講MySQL存儲過程具體是怎么樣的,相關專業(yè)術語大家可以上網(wǎng)查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望mysql存儲過程具體是怎么樣的這篇文章可以給大家?guī)硪恍嶋H幫助。
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站制作、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的駐馬店網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
存儲過程:
存儲過程指的是存儲在數(shù)據(jù)庫中的SQL語句的集合。存儲過程它可以包含業(yè)務邏輯,這是區(qū)分存儲過程和視圖的關鍵之一。另外存儲過程還可以接受參數(shù),我們可以在存儲過程中設置變量,寫入語句等。
存儲過程如何工作
首先要先創(chuàng)建一個存儲過程然后再運行。在運行的過程中需要提供它所需要的參數(shù),然后存儲過程將以代碼指定的任何方式使用參數(shù)執(zhí)行。例如,編寫一個接受FruitId參數(shù)的存儲過程。然后在存儲過程可以獲取該參數(shù)并使用它來檢查該特定水果的庫存。因此我們可以調(diào)用存儲過程,即每次使用不同的水果ID它都將返回一個值,并顯示該庫存中有多少水果。
創(chuàng)建存儲過程
我們可以通過CREATE PROCEDURE語句創(chuàng)建存儲過程
CREATE PROCEDURE demo_name(p_1 INT) BEGIN ...code goes here... END;
demo_name指的是存儲過程的名稱,括號是必須的,如果里面不包含任何參數(shù)則括號可以為空
存儲過程的主體是介于BEGIN和END關鍵字之間。這些關鍵字用于編寫復合語句。復合語句可以包含多個語句,如果需要,可以嵌套這些語句。
例:創(chuàng)建一個存儲過程名為FruitStock:
DELIMITER // CREATE PROCEDURE FruitStock(thisFruit SMALLINT) BEGIN SELECT Fruit.FruitName, Fruit.Inventory, Units.UnitName FROM Fruit INNER JOIN Units ON Fruit.UnitId = Units.UnitId WHERE Fruit.FruitId = thisFruit; END // DELIMITER ;
創(chuàng)建好了一個存儲過程,接下來將調(diào)用這個存儲過程
調(diào)用一個參數(shù)為1的ID
CALL FruitStock(1);
刪除存儲過程
可以使用DROP PROCEDURE語句刪除存儲過程。
DROP PROCEDURE FruitStock;
改變存儲過程
在存儲過程中可通過下列語句更改存儲過程ALTER PROCEDURE。
需要注意要更改存儲過程的主體或其任何參數(shù)時,需要刪除該過程然后再次創(chuàng)建
例:添加Fruit.FruitId所要返回的列表
DROP PROCEDURE IF EXISTS FruitStock; DELIMITER // CREATE PROCEDURE FruitStock(thisFruit SMALLINT) BEGIN SELECT Fruit.FruitId, Fruit.FruitName, Fruit.Inventory, Units.UnitName FROM Fruit INNER JOIN Units ON Fruit.UnitId = Units.UnitId WHERE Fruit.FruitId = thisFruit; END // DELIMITER ;
mysql存儲過程具體是怎么樣的就先給大家講到這里,對于其它相關問題大家想要了解的可以持續(xù)關注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。