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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql中存储过程和函数区别

發(fā)布時(shí)間:2023/12/10 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中存储过程和函数区别 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述

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


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


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


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


1.創(chuàng)建存儲(chǔ)過程和函數(shù)語法

CREATE PROCEDURE sp_name ([proc_parameter[,...]])[characteristic ...] routine_bodyCREATE FUNCTION sp_name ([func_parameter[,...]])RETURNS type[characteristic ...] routine_bodyproc_parameter:[ IN | OUT | INOUT ] param_name typefunc_parameter:param_name typetype:Any valid MySQL data type

2.修改存儲(chǔ)過程函數(shù)語法

ALTER {PROCEDURE | FUNCTION} sp_name [characteristic ...]characteristic:{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }| SQL SECURITY { DEFINER | INVOKER }| COMMENT 'string'

3.刪除存儲(chǔ)過程函數(shù)語法

DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name


4.查看存儲(chǔ)過程和函數(shù)


1.查看存儲(chǔ)過程狀態(tài)SHOW {PROCEDURE | FUNCTION} STATUS [LIKE 'pattern'] show procedure status like 'Pro_Employee' \G 2.查看存儲(chǔ)過程和函數(shù)的創(chuàng)建語法 SHOW CREATE {PROCEDURE | FUNCTION} sp_nameSHOW CREATE PROCEDURE Pro_Employee \G; 3.查看存儲(chǔ)過程和函數(shù)詳細(xì)信息 SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_NAME='Pro_Employee' \G;



總結(jié)

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

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