2012-07-03 30 views
-2
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 ; 
` 

我想知道如果有人能幫我告訴我代碼出了什麼問題,我是MySQL新語句,所以請耐心等待我!這個MySQL代碼有什麼問題?

+1

什麼問題/錯誤? – manurajhada

+2

爲什麼你認爲這是錯誤的?但請不要說」它不工作「,這是沒有幫助 – zerkms

+0

我認爲我的代碼有什麼問題是這部分SELECT COUNT(IdEmpleado)INTO康塔多FROM ASISTENCIA WHERE(IdEmpleado = var和出生日期間(現在()和DATE_SUB(CURDATE(),間隔30天))); – Guayo

回答

0

使用「DELIMITER |;」而不是「DELIMITER |」櫃面你指的這個錯誤「您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近「))))SELECT COUNT(IdEmpleado)INTO康塔多FROM ASISTENCIA WHERE正確的語法手冊( IdEm'在第11行「