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是分號;。
總結
以上就是本文關于navicat不能創(chuàng)建函數(shù)解決方法分享的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:簡述Redis和MySQL的區(qū)別、MYSQL子查詢和嵌套查詢優(yōu)化實例解析、幾個比較重要的MySQL變量等,有什么問題可以隨時留言,小編會及時回復大家的。感謝朋友們對本站的支持!
相關文章
MySQL千萬級數(shù)據(jù)表的優(yōu)化實戰(zhàn)記錄
千萬級大表如何優(yōu)化,這是一個很有技術含量的問題,通常我們的直覺思維都會跳轉到拆分或者數(shù)據(jù)分區(qū),這篇文章主要給大家介紹了關于MySQL千萬級數(shù)據(jù)表優(yōu)化的相關資料,需要的朋友可以參考下2021-08-08
MySQL 將文件導入數(shù)據(jù)庫(load data Statement)
本文主要介紹了MySQL 將文件導入數(shù)據(jù)庫,可以使用load data infile語句將文件中的數(shù)據(jù)加載到數(shù)據(jù)庫中,感興趣的可以了解一下2024-09-09
Mysql出生日期轉換為年齡并分組統(tǒng)計人數(shù)的方法示例
這篇文章主要給大家介紹了關于Mysql出生日期轉換為年齡并分組統(tǒng)計人數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
Can''t connect to MySQL server的解決辦法
ERROR 2003 (HY000): Can't connect to MySQL server on '*.*.*.*' (113)的解決辦法2010-06-06
Mysql數(shù)據(jù)庫之數(shù)據(jù)備份與恢復方式
本文詳細介紹了數(shù)據(jù)庫備份的重要性、分類、方法以及Mysql數(shù)據(jù)庫的備份與恢復操作,包括完全備份、差異備份、增量備份等,同時,還涉及了日志數(shù)據(jù)庫、備份策略和執(zhí)行備份的定時任務(Crontab)等內(nèi)容2025-01-01

