![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 26.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Cześć , przed usunięciem rekordu chcę aby trigger wstawił w jedną tabelę pewien rekord, a z innej usunął. Jak zrobię jedną z tych czynności to działa, lecz jak chcę dwie na raz pojawia się problem , ponieważ nie mogę utworzyć dwóch triggerów before delete. A gdy próbuję w jednym triggerze wykonać obie operacje , to niestety wyskakuje błąd o błędniej składni.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 79 Dołączył: 25.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz kod dokładnie taki jak powyżej, to średnik oznacza koniec zapytania, a trigger jednak w tym miejscu się nie kończy. Musisz ustawić sobie inny znak końca zapytania np.:
Poza tym w DELETE powinno być WHERE id = OLD.id a wyzwalacz raczej powinien być wykonywany dopiero po modyfikacji danych - AFTER DELETE. Jeśli będzie wykonywany przed to może się zdarzyć, że kasowanie nie powiedzie się to trigger i tak zostanie wywołany. Wydaje się, że to jest tutaj niepożądane. Ten post edytował kartin 6.01.2015, 12:21:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 09:03 |