navicat不能創(chuàng)建函數(shù)解決方法分享
第一次寫MySQL FUNCTION,一直報錯,
Err] 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 '`company_id` int) RETURNS varchar(20) CHARSET utf8
BEGIN
本來的函數(shù):
CREATE DEFINER=`33323`@`%` FUNCTION `createSaleCode`(`benginStr` varchar,`company_id` int) RETURNS varchar(20) CHARSET utf8 BEGIN DECLARE nearnum VARCHAR(20); DECLARE nowdatepre VARCHAR(20); DECLARE numout VARCHAR(20); SELECT a.sale_code INTO nearnum FROM d_sale a WHERE a.company_id = company_id ORDER BY a.sale_id DESC limit 1; SELECT concat(extract(year_month from now()),LPAD(extract(day from now()), 2, 0)) INTO nowdatepre; IF locate(nowdatepre,nearnum)>0 THEN set numout = nearnum +1; ELSE set numout = concat(beginStr,nowdatepre,'00001'); END IF; RETURN numout; END
這段函數(shù)在Navicat上邊執(zhí)行不起來,在多次嘗試之后將代碼修改為以下:
delimiter $$ CREATE DEFINER=`12212`@`%` FUNCTION createSaleCode(benginStr varchar(20),company_id int(11) ) RETURNS varchar(20) CHARSET utf8 BEGIN DECLARE nearnum VARCHAR(20); DECLARE nowdatepre VARCHAR(20); DECLARE numout VARCHAR(20); SELECT a.sale_code INTO nearnum FROM d_sale a WHERE a.company_id = company_id ORDER BY a.sale_id DESC limit 1; SELECT concat(extract(year_month from now()),LPAD(extract(day from now()), 2, 0)) INTO nowdatepre; IF locate(nowdatepre,nearnum)>0 THEN set numout = nearnum +1; ELSE set numout = concat(beginStr,nowdatepre,'00001'); END IF; RETURN numout; END$$ delimiter ;
問題解決。
默認情況下,delimiter是分號;。
總結(jié)
以上就是本文關(guān)于navicat不能創(chuàng)建函數(shù)解決方法分享的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:簡述Redis和MySQL的區(qū)別、MYSQL子查詢和嵌套查詢優(yōu)化實例解析、幾個比較重要的MySQL變量等,有什么問題可以隨時留言,小編會及時回復大家的。感謝朋友們對本站的支持!
相關(guān)文章
MySql中把一個表的數(shù)據(jù)插入到另一個表中的實現(xiàn)代碼
本篇文章是對MySql中把一個表的數(shù)據(jù)插入到另一個表中的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下2013-05-05SQL Server數(shù)據(jù)庫錯誤5123解決方案
這篇文章主要介紹了SQL Server數(shù)據(jù)庫錯誤5123解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06MySQL處理DB讀寫分離數(shù)據(jù)不一致問題的方案
在互聯(lián)網(wǎng)中大型項目中,讀寫分離應(yīng)該是我們小伙伴經(jīng)常聽說的,這個主要解決大流量請求時,提高系統(tǒng)的吞吐量,本文給大家介紹了MySQL處理DB讀寫分離數(shù)據(jù)不一致問題的方案,需要的朋友可以參考下2024-02-02mysql 5.7 zip 文件在 windows下的安裝教程詳解
這篇文章主要介紹了mysql 5.7 zip 文件在 windows下的安裝步驟,首先我們需要先下載mysql最新版本然后解壓文件夾,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09mysql 8.0.16 winx64及Linux修改root用戶密碼 的方法
這篇文章主要介紹了mysql 8.0.16 winx64及Linux修改root用戶密碼 的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07MySQL數(shù)據(jù)庫給表添加索引的實現(xiàn)
在MySQL中,索引是用來加速數(shù)據(jù)庫查詢的一種特殊數(shù)據(jù)結(jié)構(gòu),當我們需要查詢數(shù)據(jù)庫中某些數(shù)據(jù)的時候,如果數(shù)據(jù)庫中有索引,就可以避免全表掃描,從而提高查詢速度,本文就介紹了如何給表添加索引,感興趣的可以了解一下2023-08-08