您好,登錄后才能下訂單哦!
這篇文章主要介紹“MySQL5.0中的Function和Procedure實(shí)例用法”,在日常操作中,相信很多人在MySQL5.0中的Function和Procedure實(shí)例用法問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”MySQL5.0中的Function和Procedure實(shí)例用法”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
創(chuàng)建函數(shù)(Function)
創(chuàng)建:
mysql> CREATE FUNCTION MyFunc (s CHAR(20)) RETURNS CHAR(50) RETURN CONCAT
('Hello',s,'.Lan',' !');
使用:
mysql> select MyFunc('Dennis');
刪除:
drop function MyFunc;
創(chuàng)建存儲(chǔ)過(guò)程(Procedure)
創(chuàng)建:
(由于存儲(chǔ)過(guò)程是用";"結(jié)尾的,而";"在mysql默認(rèn)的sql結(jié)尾.所以在這里要先改mysql的這個(gè)結(jié)束符)
mysql> delimiter |
mysql> CREATE PROCEDURE MyProc (OUT param1 INT) BEGIN SELECT COUNT(*) INTO
param1 FROM mysql.user; END;
-> |
官方文檔:http://www.mysql.com/doc/en/CREATE_PROCEDURE.html
調(diào)用:
第一步:
mysql> CALL MyProc(@a)|
第二步:
mysql> select @a;
-> |
完整的例子:
mysql> CREATE PROCEDURE MyProc (OUT param1 INT) BEGIN SELECT COUNT(*) INTO
param
1 FROM mysql.user; END;
-> |
Query OK, 0 rows affected (0.00 sec)
mysql> call MyProc(@a)|
Query OK, 0 rows affected (0.03 sec)
mysql> select @a |
+------+
| @a |
+------+
| 4 |
+------+
1 row in set (0.00 sec)
刪除:
mysql> drop procedure MyProc|
(注意,這里存儲(chǔ)過(guò)程的名字是區(qū)分大小寫(xiě)的)
注: 如果你在和程序連接時(shí)出現(xiàn):
Client does not support authentication protocol requested by server; consider upgrading
MySQL client
[@more@]
到此,關(guān)于“MySQL5.0中的Function和Procedure實(shí)例用法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。