Hej.
Temat posta ogólny ponieważ nie wiem jak go zdefiniować.
Zarys:
W aplikacji mam tabele BOOK, AUTHOR, i HISTORY.
BOOK może mieć wiele AUTHOR. AUTHOR ma referencje do BOOK.
Przy każdej operacji CRUD w tabeli AUTHOR, w tabeli HISTORY powstaje nowy rekord że nastąpiła taka operacja.
Na tabeli AUTHOR mam Triggery które wstawiają rekord do HISTORY w przypadku CRUD na autorze (AFTER INSERT, AFTER UPDATE, BEFORE DELETE).
Dostałem pewnien kod aplikacji który działa w taki sposób że:
- BOOK ma 1 autora, powiedzmy: Jan Nowak
- Dodaję współautora do BOOK, powiedzmy Marek Kowalski.
Po kliknięciu ZAPISZ - wszyscy obecni autorzy (czyli Jan Nowak) zostają usunięci (Tworzy się rekord z akcją Delete)
- do AUTHOR zostaje dodany rekord Marek Kowalski (Tworzy się rekord z akcją Insert)
- do AUTHOR zostaje dodany rekord Jan Nowak (tworzy się identyczny jak był wcześniej, który został usunięty) (Tworzy się rekord z akcją Insert)
W powyższym przykładzie stworzą się 3 rekordy w HISTORY: 1 z Delete, i 2 z Insert.
Chciałbym żeby się tworzył tylko 1 rekord: z akcją Insert dla Marek Kowalski
Czy ma ktoś jakiś pomysł jak to można by rozwiązać za pomocą triggerów? Siedzę już nad tym sporo czasu i nic mi do głowy nie przychodzi.
Nie mam dostępu do kodu aby móc go edytować.