CREATE PROCEDURE bazochki()
BEGIN
DECLARE bazka INT DEFAULT (SELECT max(id_bases) FROM bases);
DECLARE oldg,oldt,oldu INT DEFAULT 0;
DECLARE oldc char(12);
WHILE bazka>0 DO
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE i,g,t,u,e INT;
DECLARE c char(12);
DECLARE cur1 CURSOR FOR SELECT id,id_gamers,color,time,updatetime,event FROM `bases-test` WHERE id_bases_list=bazka;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO i,g,c,t,u,e;
IF NOT done THEN
IF g <> oldg THEN
INSERT INTO `ilse`.`events` (`id`,`id_gamers`,`oldcolor`,`newcolor`,`up_down`,`time`)VALUES (NULL,oldg,oldc,c,'1',oldu);
INSERT INTO `ilse`.`events` (`id`,`id_gamers`,`oldcolor`,`newcolor`,`up_down`,`time`)VALUES (NULL,g,oldc,c,'2',t);
UPDATE `ilse`.`bases-test` SET event=1 WHERE id=i;
END IF;
SET oldg=g;
SET oldc=c;
SET oldu=u;
UNTIL done>0 END REPEAT;
CLOSE cur1;
END;
END WHILE;
END;
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.