Sinsinw 2018-03-07 09:44 采纳率: 0%
浏览 2303
已结题

mysql1241什么问题???

BEGIN
DECLARE k INT ;
DECLARE m INT ;
DECLARE n FLOAT ;

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION,NOT FOUND,SQLWARNING SET flag=500;

SET @str1='UPDATE excel SET ard = CONCAT(`ard`,",1") WHERE `name` IN ';
SET @str1=CONCAT(@str1,snames);
PREPARE stmt1 FROM @str1;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;

SET @str2='UPDATE excel SET ard = CONCAT(`ard`,",0") WHERE `name` NOT IN ';
SET @str2=CONCAT(@str2,snames);
PREPARE stmt2 FROM @str2;
EXECUTE stmt2;
DEALLOCATE PREPARE stmt2;

UPDATE excel SET dates=CONCAT(dates,',',`datess`);

SELECT LENGTH(excel.`ard`)-LENGTH(REPLACE(excel.`ard`,'1','')) INTO k FROM excel ;

SELECT LENGTH(excel.`ard`)-LENGTH(REPLACE(excel.`ard`,',','')) INTO m FROM excel ;

SET n=CONCAT(ROUND(m/(k+1) * 100, 2),'','%')  ;

UPDATE excel SET ardrate=n;

IF flag=500 THEN ROLLBACK;
ELSE SET flag=200;
END IF;

END$$
  • 写回答

2条回答 默认 最新

  • mango_love 2018-03-07 09:43
    关注

    这个里面有很多中文的引号啊,肯定执行报错的。。。符号一定要用英文符号

    评论

报告相同问题?