Jak utworzyć trigger w MySQL?

0

Czesc mam ponizsze zapytanie sql

 SELECT *,(SELECT AVG(speed) from car WHERE  day BETWEEN '2016-12-31' AND '2017-01-30' ) AS average FROM Car  ORDER BY day,hours ;

zapytanie działa spoko, ale musze to zapisać z wykorzystaniem triggera pomoże ktoś?

0

Jaka dokładnie baza danych?
Trigger w którym momencie? Update, Insert, Delete ?
After czy before?

0

Na początek: Czy wiesz czym są triggery? Triggery są wywoływane przy dodaniu, usunięciu czy skasowaniu rekordu z tabeli. Zazwyczaj służą do modyfikacji danych . Ty pokazałeś zapytanie SELECT, które pobiera dane. Nie bardzo rozumiem co chcesz osiągnąć?

0

musze to zapytanie bardziej w "bazie" wykonać bo to zapytanie jest za proste

0

NIe potafisz objaśnić problemu.
Przykład tworzenia triggerów w mysql masz chociażby tutaj: Triggery

Przenoszę do newbie.

0

dobra może nie za pomocą triggera, ale musze tą procedure zapisać w inny sposób, bardziej "zaawansowany"

do szkoly potrzebuje bo ten zapis jest zbyt prosty, chce uzyskać ten sam efekt tylko w inny "lepszy" sposób zapisać procedure

0

Możesz te zapytanie opakować w widok, procedurę składowaną lub funkcję.

0

Mozesz pokqzac jakis przyklad? Jak bedzie najlepiej?

0

Najprościej będzie z widokiem

CREATE VIEW view_Car AS
SELECT *,(SELECT AVG(speed) FROM car WHERE  DAY BETWEEN '2016-12-31' AND '2017-01-30' ) AS average 
FROM Car  
ORDER BY DAY,hours ;
0

i faktycznie sie tak stosuje? czemu moja procedura jest gorsza i nie warto jej stosować?

0

Ty zrobiłeś prostego Selecta do którego nie możesz się odwołać w innym Select. Dzięki widokowi możesz go używać jak normalnej tabeli w innych miejscach. Pomijasz wtedy zagniezdzanie Select na rzecz właśnie widoku

0

Widoki, procedury i funkcje dają szereg różnych korzyści, przykładowo można do nich ustawić uprawnienia, a silnik bazy danych nie rzadko tworzy statystyki dla takich obiektów dzięki czemu działają szybciej niż select napisany z palca.

0

A najlepiej zrobić to na bazie zebym ten wynik samym selectem wyswietlic? Zrobic z wyniku zapytania tabele?

1 użytkowników online, w tym zalogowanych: 0, gości: 1