我在mySQL上有这些表(我都是在命令行上写的)

TITOLO(isin varchar(12), maxAss int, minAss int, primary key(isin))

QUOTAZIONE(id int, min int, max int, date date, isin varchar(12), primary key(id), foreign key(isin) references TITOLO(isin))

现在我想创建一个触发器,每当我在QUOTAZIONE中插入一行时,它会检查min < minASS or max > maxAss是否为真,并更新表TITOLO上的值。
DELIMITER $$
CREATE TRIGGER AggiornaTitolo
AFTER INSERT ON quotazione
FOR EACH ROW BEGIN
DECLARE massimo int;
DECLARE minimo int;
SELECT maxAss, minAss INTO massimo, minimo FROM titolo WHERE titolo.isin = NEW.isin;
IF massimo > maxAss THEN
UPDATE titolo
SET maxAss = massimo;
IF minimo < minAss THEN
UPDATE titolo
SET minAss = minimo;
END IF;
END;
$$ DELIMITER ;

但是控制台写error 1064 (42000) at line 14.
有人能帮我吗?

最佳答案

因为你错过了第二个:

00000001 DELIMITER $$
00000002 CREATE TRIGGER AggiornaTitolo
00000003 AFTER INSERT ON quotazione
00000004 FOR EACH ROW BEGIN
00000005    DECLARE massimo int;
00000006    DECLARE minimo int;
00000007    SELECT maxAss, minAss INTO massimo, minimo FROM titolo WHERE titolo.isin = NEW.isin;
00000008    IF massimo > maxAss THEN
00000009        UPDATE titolo
00000010        SET maxAss = massimo;
00000011        IF minimo < minAss THEN
00000012            UPDATE titolo
00000013            SET minAss = minimo;
00000014        END IF;
<missing>   END IF;
00000015 END;
00000016 $$ DELIMITER ;

10-05 20:11