我有这样的触发器:SQL 5.1触发语法错误
CREATE TRIGGER `VerficiaDispon` BEFORE INSERT ON `ordini`
FOR EACH
ROW
BEGIN
DECLARE temp INT
SET temp = (SELECT disponibili FROM motoinstock
WHERE Moto = new.Moto_Comprata
AND Concessionario = new.Concessionario_Vendita);
IF temp = 0 OR temp IS NULL THEN SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Moto non disponibile';
END IF ;
SELECT acquisti
INTO temp
FROM clienticoncessionari
WHERE cliente = new.Cod_Cliente
AND concessionario = new.Concessionario_Vendita;
IF temp %2 =1 THEN SET new.Prezzo_Vendita = (new.Prezzo_Vendita * 0.9) ;
END IF ;
END;
,我不能让它在SQL 5.1工作。它给我一个错误的第7行。我尝试选择X到temp,设置temp =(...),但似乎没有任何工作。 我找不到sintax错误,有人可以帮我吗?它必须是sql 5.1
我知道它应该是raise_application_error(8-2061,'derp');而不是SIGNAL SQLSTATE ... – Jack 2012-07-06 18:47:52
分隔符在哪里? – jcho360 2012-07-06 19:02:12
的分隔符应该是; – Jack 2012-07-06 19:07:18