Синтаксическая ошибка MySQL на DELIMITER перед CREATE TRIGGER
Я пытаюсь переписать Trigger, который я сделал с Firebird, в MySql Trigger.
Я действительно понятия не имею, что может быть. Если кто-нибудь может мне помочь ... спасибо
Я отправляю SQL с PHP, как показано ниже, и сообщение об ошибке:
Неверный запрос: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с 'DELIMITER $ CREATE TRIGGER FP_PAGO_AI ПОСЛЕ INSERT ON FORMA_PGTO FOR EACH R' в строке 1
Код триггера:
$str[] = "
DELIMITER $
CREATE TRIGGER FP_PAGO_AU AFTER UPDATE ON FORMA_PGTO
FOR EACH ROW
BEGIN
declare rec_count integer;
declare pg_count integer;
declare cp_pago integer;
select count(*) from forma_pgto fp where fp.id_cpagar=new.id_cpagar into rec_count;
select count(pago) from forma_pgto f where f.id_cpagar=new.id_cpagar and f.pago=1 into pg_count;
/* Se todas parcelas estao pagas, entao setar conta paga */
if (rec_count = pg_count) then
update cpagar c set c.pago=1 where c.id=new.id_cpagar;
/* Senao */
else
/* Se CPAGAR.PAGO = 1, recebe 0 */
select cpg.pago from cpagar cpg where cpg.id=new.id_cpagar into cp_pago;
if (cp_pago = 1) then /* Se cp_pago = 1 */
update cpagar set pago=0 where id=new.id_cpagar;
end if;
end if;
END
END $
DELIMITER ;
";