MySQL存儲(chǔ)過程及常用函數(shù)代碼解析
mysql存儲(chǔ)過程的概念:
存儲(chǔ)在數(shù)據(jù)庫(kù)當(dāng)中可以執(zhí)行特定工作(查詢和更新)的一組SQL代碼的程序段。
mysql函數(shù)的概念:
函數(shù)是完成特定功能的SQL語(yǔ)句,函數(shù)分為內(nèi)置函數(shù)和自定義函數(shù)(user-defined function UDF)
MySQL存儲(chǔ)過程和函數(shù)的區(qū)別
存儲(chǔ)過程可以有多個(gè)in,out,inout參數(shù),而函數(shù)只有輸入?yún)?shù)類型,而且不能帶in. 存儲(chǔ)過程實(shí)現(xiàn)的功能要復(fù)雜一些;而函數(shù)的單一功能性(針對(duì)性)更強(qiáng)。 存儲(chǔ)過程可以返回多個(gè)值;存儲(chǔ)函數(shù)只能有一個(gè)返回值。 存儲(chǔ)過程一般獨(dú)立的來(lái)執(zhí)行;而存儲(chǔ)函數(shù)可以作為其它sql語(yǔ)句的組成部分來(lái)出現(xiàn)。 存儲(chǔ)過程可以調(diào)用存儲(chǔ)函數(shù)。函數(shù)不能調(diào)用存儲(chǔ)過程。存儲(chǔ)過程是為了完成特定功能的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ù)可以沒有,或者有多個(gè)。
2.必須有返回值,且只有一個(gè)。
3.如果有SQL語(yǔ)句的話要放在begin...end中間。
4.不加determministic會(huì)報(bào)錯(cuò)(不知道咋解決)
begin...end復(fù)合語(yǔ)句
通常出現(xiàn)在存儲(chǔ)過程、函數(shù)和觸發(fā)器中,其中可以包含一個(gè)或多個(gè)語(yǔ)句,每個(gè)語(yǔ)句用;隔開。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Oracle學(xué)習(xí)筆記之二----查詢2. SQL Server 2005 讀取xml 文件 突破 varchar 8000 限制3. SQLite3的綁定函數(shù)族使用與其注意事項(xiàng)詳解4. Access中批量替換數(shù)據(jù)庫(kù)內(nèi)容的兩種方法5. 詳解MySQL中的數(shù)據(jù)類型和schema優(yōu)化6. 講解Oracle系統(tǒng)中用戶權(quán)限的賦予和查看7. Linux安裝ODBC連接SQLServer數(shù)據(jù)庫(kù)的步驟8. idea連接sql sever2019圖文教程(超詳細(xì))9. Sqlserver之死鎖查詢以及批量解鎖的實(shí)現(xiàn)方法10. MySQL算術(shù)/比較/邏輯/位/運(yùn)算符與正則舉例詳解
