Я пытаюсь использовать пока l oop в моей хранимой процедуре, но он не хочет принимать синтаксис. Я использую Heidi SQL как студию, база данных MySQL MariaDB.
BEGIN
CREATE TEMPORARY TABLE taskTemp
SELECT jc.Id as JID
FROM jobs as j
left join jobcards as jc on j.JobcardId = jc.Id
left join tasks as t on j.Id = t.JobId
left join assignments as a ON t.Id = a.TaskId
WHERE a.PerformerId = currentUserId
group by jc.Id;
SELECT GROUP_CONCAT(JID SEPARATOR ',') AS result
INTO @test
FROM taskTemp;
CREATE TEMPORARY TABLE UserTasks
Select j.Id ,j.JobcardId as JcID, t.Id as TaskID ,js.Name as TaskStatus
from jobs as j
left join tasks as t on j.Id = t.JobId
Join assignments as a on t.Id = a.TaskId and a.PerformerId = currentUserId
left Join jobstatuses as js on t.StatusId = js.Id
WHERE FIND_IN_SET(j.JobcardId, @test);
alter table UserTasks add UserStatus longtext;
SET @n=0;
SET @i=0;
SELECT COUNT(*) FROM UserTasks INTO @n;
WHILE (@n>0) DO
SET @n=@n-1;
END WHILE;
drop temporary table taskTemp;
drop temporary table UserTasks;
END
Выше вы можете увидеть всю мою хранимую процедуру, поэтому проблема возникает в этой строке:
WHILE (@n>0) DO
SET @n=@n-1;
END WHILE;*
*
Я пробовал без скобок также @n> 0, но тоже безуспешно