这个MySQL代码有什么问题? 分隔符| 创建事件CestaTicket 按计划每1秒 做 开始 声明var INT; 声明contador INT; 宣布英勇浮动; 设置contador=0; 设置var=0; 设置valor=0; WHILE(var0) 设置valor=contador*0.95*95; 插入到报告中(排放、说明、账户、IdEmpleado) 值(现在(),CONCAT('El monto asignado para El empleado es:'),CAST(valor AS VARCHAR(30)),'monto CestaTicket',var); 如果结束; var=var+1; 结束时; 结束| 定界符; `

这个MySQL代码有什么问题? 分隔符| 创建事件CestaTicket 按计划每1秒 做 开始 声明var INT; 声明contador INT; 宣布英勇浮动; 设置contador=0; 设置var=0; 设置valor=0; WHILE(var0) 设置valor=contador*0.95*95; 插入到报告中(排放、说明、账户、IdEmpleado) 值(现在(),CONCAT('El monto asignado para El empleado es:'),CAST(valor AS VARCHAR(30)),'monto CestaTicket',var); 如果结束; var=var+1; 结束时; 结束| 定界符; `,mysql,Mysql,我想知道是否有人能帮我告诉我代码出了什么问题,我对MySQL语句还不熟悉,所以请耐心等待我 使用“DELIMITER |”而不是“DELIMITER |”,以防您引用此错误“您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以了解可使用的正确语法(near'))))从asistencia中选择COUNT(idempeado)到contador,其中(IdEm'位于第11行”为什么你认为这是错误的?但请不要说“它不工作”,这没有帮助。我认为我的代码的错误在于从asistencia

我想知道是否有人能帮我告诉我代码出了什么问题,我对MySQL语句还不熟悉,所以请耐心等待我

使用“DELIMITER |”而不是“DELIMITER |”,以防您引用此错误“您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以了解可使用的正确语法(near'))))从asistencia中选择COUNT(idempeado)到contador,其中(IdEm'位于第11行”

为什么你认为这是错误的?但请不要说“它不工作”,这没有帮助。我认为我的代码的错误在于从asistencia(idempeado=var和Fecha之间(Now()和DATE_SUB(CURDATE(),间隔30天))将计数部分(idempeado)选择到contador中;@Guayo您必须告诉我们您认为错误的原因,而不是您认为错误的内容。请使用“DELIMITER |”而不是“DELIMITER |”。如果您指的是此错误,“您的SQL语法中有错误;请查看与您的MySQL服务器版本对应的手册,以获取正确的语法使用方法(near')))选择计数(idemplado)从asistencia进入contador,其中(第11行“@srikanth,这可能是答案
DELIMITER |
CREATE EVENT CestaTicket
ON SCHEDULE EVERY 1 SECOND
DO 
BEGIN    
 DECLARE var INT;
 DECLARE contador INT; 
 DECLARE valor FLOAT; 
 SET contador=0;
 SET var=0;
 SET valor=0;
 WHILE (var<(SELECT COUNT(DISTINCT IdEmpleado) FROM asistencia WHERE (Asistio=1 AND (Fecha BETWEEN (Now() AND DATE_SUB(CURDATE(),INTERVAL 30 DAY))))))
   SELECT COUNT(IdEmpleado) INTO contador FROM asistencia 
   WHERE (IdEmpleado=var AND Fecha BETWEEN (Now() AND DATE_SUB(CURDATE(),INTERVAL 30 DAY)));

      IF (contador>0)      
      SET valor = contador*0.95*95;      
      INSERT INTO reporte (Emision,Descripcion,Accion,IdEmpleado) 
      VALUES (Now(),CONCAT('El monto asignado para el empleado es: ',CAST(valor AS VARCHAR(30))),'Monto CestaTicket',var);
  END IF;
      var = var + 1;        
  END WHILE;

END |

DELIMITER ;
`