Mam proste dwie tabele:
Chcę zrobić trigger, żeby po wpisie nowego rzędu do tabeli TRASA, automatycznie zapelniał się wpis w tabeli KOSZT, a w polu KOSZT.cena pojawiła się liczba obliczona po wpisaniu pewnych danych. Tabela TRASA zawiera klucz obcy do tabeli SAMOCHOD_OSOBA, ktora zawiera indywidualne zestawienie danej osoby i samochodu. Niestety, zgubiłem się troche :/
CREATE TRIGGER ObliczKoszt BEFORE INSERT ON trasa
FOR EACH ROW
BEGIN
SET
@a = (SELECT trasa.km_miasto*osoba_samochod.spalanie_miasto*5.13/100 from trasa, osoba_samochod WHERE trasa.id_osoba_samochod=osoba_samochod.id and trasa.id=NEW.id);
INSERT INTO koszt VALUES(NEW.id, CURDATE(), @a)
END
wywala błąd:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO koszt VALUES(NEW.id, CURDATE(), @a) END' at line 6
poza tym nawet nie wiem, czy mój napisany trigger jest choć w 10% dobry...