我試圖更新我們的MySQL數據庫中存儲的函數。更新將發佈到多個設備,所以我通過update.sql文件進行更新。MySQL - CREATE DEFINER語法錯誤
下面是這只是測試團隊向我報告說,使用此功能的報告沒有正確生成功能
DROP FUNCTION `STAFF_MPT`;
CREATE DEFINER=`jelena`@`%` FUNCTION `STAFF_MPT`(`par_stocktake_staff_id` INT) RETURNS DECIMAL(20,0) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN
DECLARE proc_total INT;
DECLARE proc_time INT;
SET proc_total = (SELECT SUM(quantity) FROM stocktake_scans WHERE stocktake_staff_id = par_stocktake_staff_id);
SET proc_time = (SELECT TIMESTAMPDIFF(SECOND , MIN(scan_date) , MAX(scan_date)) AS area_time
FROM stocktake_scans
WHERE stocktake_staff_id = par_stocktake_staff_id
);
RETURN (proc_total/proc_time)*3600;
END
。我試圖運行PMA SQL查詢窗口中的代碼,並得到以下內容:
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 '' at line 3
有人能告訴我我錯過了什麼嗎?據此,第3行是空的,那麼它怎麼可能有語法錯誤?
你忘了分隔符。在此處查看示例http://stackoverflow.com/a/40467504/575376 –