一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術|

服務器之家 - 數(shù)據(jù)庫 - Mysql - mysql創(chuàng)建存儲過程及函數(shù)詳解

mysql創(chuàng)建存儲過程及函數(shù)詳解

2022-01-17 18:05十有八⑨ Mysql

大家好,本篇文章主要講的是mysql創(chuàng)建存儲過程及函數(shù)詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

1. 存儲過程

1.1. 基本語法

?
1
2
3
create procedure name ([params])
 
UNSIGNED [characteristics] routine_body

 params : in|out|inout 指定參數(shù)列表 代表輸入與輸出

routine_body: SQL代碼內(nèi)容,以begin ........   end

characteristics: 指定存儲過程特性,包含5種

                           1 DETERMINISTIC 不確定的
2 NO SQL 沒有SQl語句,當然也不會修改數(shù)據(jù)
3 READS SQL DATA 只是讀取數(shù)據(jù),當然也不會修改數(shù)據(jù)
4 MODIFIES SQL DATA 要修改數(shù)據(jù)
5 CONTAINS SQL 包含了SQL語句

1.2 創(chuàng)建一個指定執(zhí)行權(quán)限的存儲過程

?
1
2
3
create DEFINER=`root`@`%` procedure name ([params])
 
UNSIGNED [characteristics] routine_body

DEFINER:指明誰有權(quán)力來執(zhí)行。

1.3 DELIMITER 的使用

      ”DELIMITER //“ 表示設置“//”符號為結(jié)束語,因為mysql中默認語句結(jié)束為分號‘;',為了避免存儲過程與mysql語句符號沖突,所以有時使用DELIMITER來改變結(jié)束語符號,要配合end //來使用;

 示例:創(chuàng)建一個root賬戶執(zhí)行的存儲過程,輸出給定字符串的長度

?
1
2
3
4
5
6
7
DELIMITER //
CREATE definer=`root`@`%` PROCEDURE `avgFruitPrice`(
in f_string VARCHAR(200)
)
BEGIN
    select length(f_string);
END//

2. 創(chuàng)建函數(shù) 

函數(shù)的創(chuàng)建與存儲過程相同

示例

?
1
2
3
4
5
6
7
8
9
DELIMITER //
CREATE definer=`root`@`%` FUNCTION `my_length`(
f_string VARCHAR(200)
)
RETURNS INT(11)
UNSIGNED  NO SQL
BEGIN
    return length(f_string);
END//

注意: 創(chuàng)建函數(shù)需要注意3個地方,

1.  RETURNS: 需指定返回類型

2. UNSIGNED  NO SQL 需指定存儲過程特性

3.return: 返回需要的數(shù)據(jù)

遇見的錯誤:

mysql創(chuàng)建存儲過程及函數(shù)詳解

如報錯如上信息就是沒有指定存儲過程特性。

存儲過程函數(shù)中可以通過mysql查詢結(jié)果為其參數(shù)復制: 其語句為select .... into

?
1
2
3
4
5
6
7
8
9
10
11
begin
 
declare onename char(50) default‘0';
 
declare twoname char(50);
 
select f_name, b_name into onename, twoname from t_user where id =1;
 
.......
 
end//

說明:

declare: 存儲過程及函數(shù)內(nèi)部定義變量

default:默認值

到此這篇關于mysql創(chuàng)建存儲過程及函數(shù)詳解的文章就介紹到這了,更多相關mysql存儲過程及函數(shù)內(nèi)容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_32331997/article/details/105603998

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎在线成人免费网站 | 午夜AV亚洲一码二中文字幕青青 | 疯狂激吻添下边小说 | 国产精品福利一区二区亚瑟 | 国产欧美日韩精品一区二 | 国产免费小视频在线观看 | 办公室里被迫高h | 亚洲va国产日韩欧美精品色婷婷 | 国产精品1024永久免费视频 | 男人肌肌捅女人 | 色婷婷激婷婷深爱五月老司机 | 国产成人在线免费视频 | 男插女的下面免费视频夜色 | 欧美日韩精品乱国产 | 涩涩五月天 | 日本一区二区不卡久久入口 | 男人天堂网在线 | 亚洲激情视频在线 | 倩女还魂在线观看完整版免费 | 国产成人精品曰本亚洲78 | 亚洲国产精品一区二区首页 | 青青草99久久精品国产综合 | 国产精品香蕉夜间视频免费播放 | kayden kross喷水| 亚洲一卡2卡4卡5卡6卡残暴在线 | 色噜噜 男人的天堂在线观看 | 性夜影院午夜看片 | 国内精品久久久久久野外 | 亚洲va欧美va国产va天堂影 | 日本高清免费中文字幕不卡 | 午夜无码国产理论在线 | 猫咪av | 天天干夜夜添 | 国产自在线观看 | 娇妻中日久久持久久 | 亚洲一区二区三区久久精品 | 嫩草影院永久在线播放 | 公交车强校花系列小说 | 99九九国产精品免费视频 | se综合| 日韩一级免费毛片 |