MySQL存儲(chǔ)過(guò)程及常用函數(shù)代碼解析
mysql存儲(chǔ)過(guò)程的概念:
存儲(chǔ)在數(shù)據(jù)庫(kù)當(dāng)中可以執(zhí)行特定工作(查詢和更新)的一組SQL代碼的程序段。
mysql函數(shù)的概念:
函數(shù)是完成特定功能的SQL語(yǔ)句,函數(shù)分為內(nèi)置函數(shù)和自定義函數(shù)(user-defined function UDF)
MySQL存儲(chǔ)過(guò)程和函數(shù)的區(qū)別
存儲(chǔ)過(guò)程可以有多個(gè)in,out,inout參數(shù),而函數(shù)只有輸入?yún)?shù)類型,而且不能帶in. 存儲(chǔ)過(guò)程實(shí)現(xiàn)的功能要復(fù)雜一些;而函數(shù)的單一功能性(針對(duì)性)更強(qiáng)。 存儲(chǔ)過(guò)程可以返回多個(gè)值;存儲(chǔ)函數(shù)只能有一個(gè)返回值。 存儲(chǔ)過(guò)程一般獨(dú)立的來(lái)執(zhí)行;而存儲(chǔ)函數(shù)可以作為其它sql語(yǔ)句的組成部分來(lái)出現(xiàn)。 存儲(chǔ)過(guò)程可以調(diào)用存儲(chǔ)函數(shù)。函數(shù)不能調(diào)用存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程是為了完成特定功能的sql語(yǔ)句集,經(jīng)編譯創(chuàng)建并保存在數(shù)據(jù)庫(kù)中。思想就是數(shù)據(jù)庫(kù)sql語(yǔ)言層面的代碼封裝與重用。
注:in指輸入?yún)?shù),out指輸出參數(shù)

創(chuàng)建自定義function
語(yǔ)法格式:create 函數(shù)名(參數(shù) 類型,參數(shù) 類型...) returns 類型 return 表達(dá)式值;
注:1.參數(shù)可以沒(méi)有,或者有多個(gè)。
2.必須有返回值,且只有一個(gè)。
3.如果有SQL語(yǔ)句的話要放在begin...end中間。
4.不加determministic會(huì)報(bào)錯(cuò)(不知道咋解決)

begin...end復(fù)合語(yǔ)句
通常出現(xiàn)在存儲(chǔ)過(guò)程、函數(shù)和觸發(fā)器中,其中可以包含一個(gè)或多個(gè)語(yǔ)句,每個(gè)語(yǔ)句用;隔開(kāi)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 什么是Access數(shù)據(jù)庫(kù)2. 提綱挈領(lǐng)Oracle數(shù)據(jù)庫(kù)災(zāi)難防護(hù)技術(shù)3. 關(guān)于oracle日期函數(shù)的介紹和使用4. DB2 V9.5工作負(fù)載管理之閾值(THRESHOLD)5. Microsoft Office Access刪除表記錄的方法6. Sql Server 壓縮數(shù)據(jù)庫(kù)日志文件的方法7. MySQL非常重要的日志bin log詳解8. Oracle數(shù)據(jù)庫(kù)的兩種授權(quán)收費(fèi)方式詳解9. MySQL的DML語(yǔ)言操作實(shí)例10. Mysql服務(wù)添加 iptables防火墻策略的方案

網(wǎng)公網(wǎng)安備