如何建立MySQL存儲過程
在復(fù)雜的系統(tǒng)中,MySQL數(shù)據(jù)庫使用存儲過程來完成復(fù)雜的計算過程,將記錄集返回給用戶客服端進(jìn)行處理或顯示數(shù)據(jù)。下面分享一個建立存儲過程的過程。 登錄SQLyog工具連接到MySQL數(shù)據(jù)庫 首先,使
在復(fù)雜的系統(tǒng)中,MySQL數(shù)據(jù)庫使用存儲過程來完成復(fù)雜的計算過程,將記錄集返回給用戶客服端進(jìn)行處理或顯示數(shù)據(jù)。下面分享一個建立存儲過程的過程。
登錄SQLyog工具連接到MySQL數(shù)據(jù)庫
首先,使用SQLyog工具登錄到MySQL數(shù)據(jù)庫,并將test數(shù)據(jù)庫作為當(dāng)前工作狀態(tài)的數(shù)據(jù)庫。
創(chuàng)建存儲過程
在“存儲過程”選項中點擊右鍵,選擇創(chuàng)建存儲過程,然后輸入存儲過程的名稱。
定義存儲過程參數(shù)
在創(chuàng)建存儲過程的基本機(jī)構(gòu)之后,定義存儲過程的傳入?yún)?shù)。例如,可以定義兩個int類型的參數(shù)和兩個varchar類型的參數(shù)。然后,將兩個int參數(shù)相加,并將兩個varchar參數(shù)連接成一個字符串。
PROCEDURE `test`.`gc`(a INT, b INT, c VARCHAR(10), d VARCHAR(10))
編寫存儲過程計算過程
在begin和end之間編寫存儲過程的計算過程??梢远x一個int類型的變量和一個varchar(20)的變量,并將計算結(jié)果存入這兩個變量中。
BEGIN DECLARE ab INT; DECLARE cd VARCHAR(20); SET ab a b; SET cd CONCAT(c, d); END$$
將計算結(jié)果返回到客戶端
使用SELECT語句將計算結(jié)果返回到客戶端。在SELECT語句中,使用AS關(guān)鍵字為變量指定列名。
SELECT ab AS 'a b', cd AS 'c d';
運(yùn)行建立存儲過程的命令
運(yùn)行建立存儲過程的命令,如果沒有錯誤,則將存儲過程保存到數(shù)據(jù)庫中。
如何調(diào)用存儲過程
要調(diào)用已經(jīng)建立的存儲過程,可以新建一個查詢,在查詢中輸入CALL命令,然后輸入存儲過程的名稱和參數(shù)。
CALL gc(10, 20, 'abc', 'efd');
查看執(zhí)行結(jié)果
最后,查看執(zhí)行結(jié)果,可以得到存儲過程計算的結(jié)果。