Пытаюсь создать процедуру в phpMyAdmin:
DELIMITER $$
CREATE DEFINER=`root`@`localhost`
PROCEDURE `GET_EMPLOYEES_WITH_SALARY_MORE_THAN`(IN `target_salary` INT, OUT `counter` INT)
DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
BEGIN
DECLARE id integer;
DECLARE name, tel varchar(255);
DECLARE acceptanceDate, dismissalDate DATE;
DECLARE salary integer DEFAULT 0;
DECLARE counter integer DEFAULT 0;
Declare done integer DEFAULT 0;
CREATE TEMPORARY TABLE temp LIKE employees;
DECLARE employeeCursor CURSOR FOR SELECT * FROM employees;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;
Open employeeCursor;
WHILE done = 0 DO
FETCH employeeCursor INTO id, name, tel, acceptanceDate, dismissalDate;
SET @p0 = id;
CALL `GET_SALARY`(@p0, @p1);
SELECT @p1 INTO salary;
if (salary >= target_salary) then
INSERT INTO temp SET `idEmployee` = id, `name` = name, `tel` = tel, `acceptanceDate` = acceptanceDate, `dismissalDate` = dismissalDate);
SET counter = counter + 1;
end if;
END WHILE;
Close employeeCursor;
SELECT * FROM temp;
END$$
DELIMITER ;
Выдает ошибку:
#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MariaDB на предмет корректного синтаксиса около 'DECLARE employeeCursor CURSOR FOR SELECT * FROM employees; DECLARE CONTINUE HAN'
на строке 14
В чем проблема?