激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 淺談mysql 自定義函數

淺談mysql 自定義函數

2020-04-20 18:12MYSQL教程網 Mysql

本文主要是分析了一下在工作中寫的一個mysql的自定義函數,很簡單,僅僅是希望能對大家理解mysql自定義函數有所幫助。

因為工作需要,要寫一個mysql的自定義行數,如下

?
1
2
3
4
5
6
7
DELIMITER $$
DROP FUNCTION IF EXISTS `onlineFunction`$$
CREATE FUNCTION `onlineFunction`(rrrr VARCHAR(50)) RETURNS VARCHAR(255)
BEGIN
IF(rrrr='online') THEN RETURN '上線';END IF;
END$$
DELIMITER ;

第一行DELIMITER 定義一個結束標識符,因為MySQL默認是以分號作為SQL語句的結束符的,而函數體內部要用到分號,所以會跟默認的SQL結束符發生沖突,所以需要先定義一個其他的符號作為SQL的結束符。沒有加這個定義的話...

?
1
2
錯誤碼: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'end' at line 1

第二行是刪除同名的類,不然會...

?
1
2
錯誤碼: 1304
FUNCTION onlineFunction already exists

第三行第一函數名,函數變量,和返回類型

第四行begin是起始,與end$$對應

第五行是if判斷語句,格式為

?
1
2
3
4
5
6
7
8
if(...) then
....;
elseif
....;
else
.....;
end if;
return ..;

有時候mysql不能建立自定義函數是因為該功能2未開啟

輸入 show variables like '%func%'; 命令

會看到 log_bin_trust_function_creators 的狀態,如果是OFF表示自定義函數功能是關閉的

輸入命令 set global log_bin_trust_function_creators=1;

可將 log_bin_trust_function_creators 開啟自定義函數功能

但是這樣設置是一個臨時的方案,因為mysql自動重啟后狀態又會變為OFF,所以需要在

在服務啟動時加上 “--log-bin-trust-function-creators=1 ”參數。
或在my.ini(my.cnf)中的[mysqld]區段中加上 log-bin-trust-function-creators=1。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人国产高清 | 色婷婷综合久色aⅴ | 中文字幕在线观看日韩 | 91av在线免费观看 | 免费在线观看午夜视频 | av在线视 | 99欧美精品| 久久九九热re6这里有精品 | 欧美一级爱操视频 | 国产成人自拍视频在线 | 全免费午夜一级毛片真人 | 久久免费视屏 | 精品国产一区二区三区成人影院 | 精品成人av一区二区三区 | 欧美激情综合在线 | 久久99网 | 法国性经典xxxhd| 欧美成人午夜一区二区三区 | 毛片在线免费观看视频 | 成人激情在线 | 久久精品日产高清版的功能介绍 | av在线更新 | 久久精品亚洲一区二区 | 成人在线观看地址 | 日本视频网 | 久久亚洲美女视频 | 素人视频免费观看 | 免费一级毛片在线播放视频 | 午夜在线小视频 | 午夜视频在线免费播放 | 国产成人精品一区在线播放 | 国产青草视频在线观看 | 国产精品久久久久久久久久久天堂 | 亚洲一区二区观看播放 | 国产一区二区午夜 | 午夜视频国产 | 久久精品视频8 | 亚洲日本乱码在线观看 | 越南一级黄色片 | 久久精品视频1 | 亚洲第五色综合网 |