日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库系列之mysql 自定义函数function,函数和存储过程的区别

發(fā)布時間:2023/12/20 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库系列之mysql 自定义函数function,函数和存储过程的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

mysql 自定義函數(shù)function,函數(shù)和存儲過程的區(qū)別

https://blog.csdn.net/u010365819/article/details/80470448

https://blog.csdn.net/mengzuchao/article/details/80686792

https://www.cnblogs.com/progor/p/8871480.html

https://blog.csdn.net/qq_26963433/article/details/78601606

https://blog.csdn.net/atares0223/article/details/50147813

DROP FUNCTION IF EXISTS test.formatDate $$

1.MySQL自定義函數(shù)簡介

  在MySQL中使用自定義函數(shù)也需要相應(yīng)的要求,語法如下,

  創(chuàng)建新函數(shù):

    Create function function_name(參數(shù)列表)

    returns返回值類型

    函數(shù)體內(nèi)容

  相關(guān)說明,

  • 函數(shù)名:應(yīng)該合法的標(biāo)識符,并且不應(yīng)該與已有的關(guān)鍵字沖突。一個函數(shù)應(yīng)該屬于某數(shù)據(jù)庫,可以使用db_name.funciton_name的形式執(zhí)行當(dāng)前函數(shù)所屬數(shù)據(jù)庫

    ,否則默認為當(dāng)前數(shù)據(jù)庫。

  • 參數(shù)列表:可以有一個或者多個函數(shù)參數(shù),甚至是沒有參數(shù)也是可以的。對于每個參數(shù),由參數(shù)名和參數(shù)類型組成。
  • 返回值:指明返回值類類型
  • 函數(shù)體:自定義函數(shù)的函數(shù)體由多條可用的MySQL語句,流程控制,變量聲明等語句構(gòu)成。需要指明的是函數(shù)體中一定要含有return 返回語句。

2.自定義示例

  a.無參函數(shù)定義

    

mysql> DROP FUNCTION IF EXISTS hello; Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> DELIMITER $$ mysql> CREATE FUNCTION hello()-> RETURNS VARCHAR(255)-> BEGIN-> RETURN 'Hello world,i am mysql';-> END $$ Query OK, 0 rows affected (0.11 sec)

  調(diào)用自定義函數(shù):

  

mysql> DELIMITER ; mysql> SELECT hello(); +-------------------------+ | hello() | +-------------------------+ | Hello world,i am mysql | +-------------------------+ 1 row in set (0.00 sec)

? 可見已經(jīng)調(diào)用成功了,需要注意的幾點

  之所以使用DELIMITER是因為MySQL中默認是使用分號來結(jié)束一個命令的,我們定義的函數(shù)體中一條命令寫完時會用分號來結(jié)束,而MySQL會誤以為函數(shù)體已經(jīng)定義完成,因為我們需要定義一個新的標(biāo)識符來標(biāo)識一個命令的結(jié)束,因為就可以使用DELIMITER。

  b:含有參數(shù)的自定義函數(shù)

  在我們格式化日期的時候我們會調(diào)用DATE_FORMAT(date,format)函數(shù),第一個參數(shù)是日期第二個參數(shù)是需要格式化的格式,也就是說需要傳遞兩個參數(shù),我們現(xiàn)在就把這個函數(shù)給改下

  

mysql> DELIMITER $$ mysql> DROP FUNCTION IF EXISTS test.formatDate $$ Query OK, 0 rows affected, 1 warning (0.07 sec)mysql> CREATE FUNCTION test.formatDate(fdate datetime)-> RETURNS VARCHAR(255)-> BEGIN-> DECLARE x VARCHAR(255) DEFAULT '';-> SET x= date_format(fdate,'%Y年%m月%d日%h時%i分%s秒');-> RETURN x;-> END $$ Query OK, 0 rows affected (0.11 sec)mysql> DELIMITER ; mysql> SELECT formatDate(now()); +----------------------------+ | formatDate(now()) | +----------------------------+ | 2014年11月21日03時41分21秒 | +----------------------------+ 1 row in set (0.18 sec)

  這樣當(dāng)我們需要定制這樣的函數(shù)時就可以自己實現(xiàn)了,那就是通過含參的自定義函數(shù)。

?

?

自定義函數(shù)和存儲過程的區(qū)別:

1)一般來說,存儲過程實現(xiàn)的功能要復(fù)雜一點,而函數(shù)的實現(xiàn)的功能針對性比較強。存儲過程,功能強大,可以執(zhí)行包括修改表等一系列數(shù)據(jù)庫操作;用戶定義函數(shù)不能用于執(zhí)行一組修改全局數(shù)據(jù)庫狀態(tài)的操作。?

2)對于存儲過程來說可以返回參數(shù),如記錄集,而函數(shù)只能返回值或者表對象。函數(shù)只能返回一個變量;而存儲過程可以返回多個。存儲過程的參數(shù)可以有IN,OUT,INOUT三種類型,而函數(shù)只能有IN類~~存儲過程聲明時不需要返回類型,而函數(shù)聲明時需要描述返回類型,且函數(shù)體中必須包含一個有效的RETURN語句。

3)存儲過程,可以使用非確定函數(shù),不允許在用戶定義函數(shù)主體中內(nèi)置非確定函數(shù)。?

4)存儲過程一般是作為一個獨立的部分來執(zhí)行( EXECUTE 語句執(zhí)行),而函數(shù)可以作為查詢語句的一個部分來調(diào)用(SELECT調(diào)用),由于函數(shù)可以返回一個表對象,因此它可以在查詢語句中位于FROM關(guān)鍵字的后面。 SQL語句中不可用存儲過程,而可以使用函數(shù)。

轉(zhuǎn)載于:https://www.cnblogs.com/PrestonL/p/9681638.html

總結(jié)

以上是生活随笔為你收集整理的数据库系列之mysql 自定义函数function,函数和存储过程的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本在线免费播放 | 久久久久99精品成人片我成大片 | 日韩一区在线观看视频 | 国产精品污www一区二区三区 | 亚洲精品国产suv一区 | 久久国产精品免费观看 | 怡红院久久 | 欧美日本成人 | 国产精品成人久久 | 亲嘴脱内衣内裤 | 中文字幕一区二区在线视频 | 乱色欧美| 亚洲av无码久久精品色欲 | 国产视频中文字幕 | 成年黄色片 | 99精品视频一区二区三区 | www.成人免费视频 | 爱情岛亚洲品质自拍极速福利网站 | 成人免费av网站 | 美女网站免费视频 | 亚洲黄色三级视频 | 成人18视频在线观看 | 最新久久久 | 成年人午夜免费视频 | 中文字幕在线精品 | 97久久精品 | 中文字幕11页中文字幕11页 | 在线永久看片免费的视频 | 日本久久综合网 | 免费黄色高清视频 | 韩国一二三区 | 午夜婷婷 | 国产97色在线 | 国产 | 亚洲一区二区三区国产 | 91网站在线看 | 日本高清中文字幕 | 99国产精品国产精品九九 | 2024av视频 | 亚洲无限码 | 久久久久久久久久久国产 | 日本中文字幕在线观看视频 | 久久在线看 | 99在线免费观看 | 亚洲国产中文字幕在线观看 | 日本一本在线 | 久久国产福利 | 欧美成人精品欧美一级乱黄 | 国产3p露脸普通话对白 | 被室友玩屁股(h)男男 | 国产精选毛片 | 天天添天天射 | 国产原创视频在线观看 | 国产精品久久久久久久久久久不卡 | 丁香五香天堂 | 日韩大片免费在线观看 | 日韩视频免费在线观看 | 日本国产精品 | 欧美成人精品一区二区 | 97免费人妻无码视频 | av免费大片 | 日本色呦呦 | 欧美性受xxx | 国产精品五月天 | 爱情岛论坛永久入址测速 | 黄色1级大片 | 四虎国产精品永久在线国在线 | 日韩视频一区二区三区四区 | 国产精品一区二区免费视频 | 久操视频在线 | 午夜激情久久 | 亚色在线视频 | 亚洲欧美综合久久 | 日韩xxx视频| 小宵虎南在线观看 | 香蕉视频网站入口 | 日韩网站免费 | 欧美一区成人 | 特黄在线 | 黑人一区二区三区四区五区 | 小情侣高清国产在线播放 | 成人免费毛片色戒 | 亚欧美日韩 | 欧美精品五区 | 国产白丝袜美女久久久久 | 成人91 | 日韩亚洲天堂 | 成人羞羞国产免费 | 欧美成人精品欧美一级私黄 | 成人综合在线观看 | 日本精品入口免费视频 | 久久亚洲高清 | 午夜在线免费视频 | 欧美黄色性视频 | 欧美成人三级在线播放 | 亚洲国产成人精品女人久久 | 国产精品永久在线 | 狠狠干男人的天堂 | 亚洲性影院 | 老熟女重囗味hdxx69 |