国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

mysql自定義函數(shù)原理與用法實例分析

瀏覽:5日期:2023-10-15 13:46:47

本文實例講述了mysql自定義函數(shù)原理與用法。分享給大家供大家參考,具體如下:

本文內(nèi)容: 什么是函數(shù) 函數(shù)的創(chuàng)建 函數(shù)的調(diào)用 函數(shù)的查看 函數(shù)的修改 函數(shù)的刪除

首發(fā)日期:2018-04-18

什么是函數(shù): 函數(shù)存儲著一系列sql語句,調(diào)用函數(shù)就是一次性執(zhí)行這些語句。所以函數(shù)可以降低語句重復(fù)。【但注意的是函數(shù)注重返回值,不注重執(zhí)行過程,所以一些語句無法執(zhí)行。所以函數(shù)并不是單純的sql語句集合。】 mysql函數(shù)有自己的自定義函數(shù)(已經(jīng)定義好了的函數(shù)),想了解更多的可以參考我的另一篇博文:mysql常用函數(shù) 這里主要介紹如何自定義函數(shù)。補充: 函數(shù)與存儲過程的區(qū)別:函數(shù)只會返回一個值,不允許返回一個結(jié)果集。函數(shù)強調(diào)返回值,所以函數(shù)不允許返回多個值的情況,即使是查詢語句。

-- 不行的代碼:Not allowed to return a result set from a functioncreate function myf()returns int beginselect * from student;return 100;end; 函數(shù)的創(chuàng)建: 語法:

create function 函數(shù)名([參數(shù)列表]) returns 數(shù)據(jù)類型begin sql語句; return 值;end;參數(shù)列表的格式是: 變量名 數(shù)據(jù)類型 示例:

-- 最簡單的僅有一條sql的函數(shù)create function myselect2() returns int return 666;select myselect2(); -- 調(diào)用函數(shù)--create function myselect3() returns intbegin declare c int; select id from class where cname='python' into c; return c;end;select myselect3();-- 帶傳參的函數(shù)create function myselect5(name varchar(15)) returns intbegin declare c int; select id from class where cname=name into c; return c;end;select myselect5('python'); 補充: 還可以有一些特別的選項,特別的選項寫在return 之后,begin之前,如: comment:一個關(guān)于函數(shù)的描述 還有一些比如sql security等選項,有興趣可以自行百度。這里不講解,僅一提有此知識點。 函數(shù)的調(diào)用: 直接使用函數(shù)名()就可以調(diào)用【雖然這么說,但返回的是一個結(jié)果,sql中不使用select的話任何結(jié)果都無法顯示出來(所以單純調(diào)用會報錯),】 如果想要傳入?yún)?shù)可以使用函數(shù)名(參數(shù)) 調(diào)用方式【下面調(diào)用的函數(shù)都是上面中創(chuàng)建的。】:

-- 無參調(diào)用select myselect3();-- 傳參調(diào)用select myselect5('python');select * from class where id=myselect5('python'); 函數(shù)的查看: 查看函數(shù)創(chuàng)建語句:show create function 函數(shù)名; 查看所有函數(shù):show function status [like ’pattern’];函數(shù)的修改: 函數(shù)的修改只能修改一些如comment的選項,不能修改內(nèi)部的sql語句和參數(shù)列表。 alter function 函數(shù)名 選項;函數(shù)的刪除: drop function 函數(shù)名;

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》

希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。

相關(guān)文章:
主站蜘蛛池模板: 株洲市| 灯塔市| 玛多县| 河曲县| 甘南县| 汕头市| 尉犁县| 堆龙德庆县| 内江市| 高淳县| 凉山| 金塔县| 奉贤区| 马关县| 泰州市| 大埔县| 新津县| 宜昌市| 襄垣县| 鹤峰县| 林芝县| 霞浦县| 新巴尔虎右旗| 句容市| 施甸县| 井冈山市| 霍城县| 淅川县| 明溪县| 沂水县| 商城县| 新余市| 屏山县| 张掖市| 富蕴县| 海阳市| 吴堡县| 银川市| 新化县| 和顺县| 江源县|