我有這樣的觸發器: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