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行目は空ですので、どうすれば構文エラーが発生する可能性がありますか? MySQL docsのよう
あなたは区切り文字を忘れてしまいました。ここの例を見てくださいhttp://stackoverflow.com/a/40467504/575376 –