小编Art*_*aks的帖子

MySQL - CREATE DEFINER 语法错误

我正在尝试更新 MySQL 数据库中的存储函数。更新将发布到多个设备,因此我通过 update.sql 文件进行更新。

这是函数

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
Run Code Online (Sandbox Code Playgroud)

刚才测试组给我报告说使用这个功能的报告没有正常生成。我尝试在 PMA SQL 查询窗口中运行代码并得到以下结果:

You have an error in your SQL syntax; …
Run Code Online (Sandbox Code Playgroud)

mysql

0
推荐指数
1
解决办法
1875
查看次数

标签 统计

mysql ×1