Automatyczne usuwanie danych z drugiej tabeli

0

Witam Was Serdecznie,
Chciałbym Was zapytać o jedną rzecz. Dla większości z Was problem pewnie banalny. Mam sobie dwie tabele w bazie, nazwijmy je TABELA_1 i TABELA_2. TABELA_1 połączona jest relacją jeden do wielu wielu z TABELĄ_2 po kolumnie NUMER. Czyli do jednego wiersza w tabeli 1, przypisanych jest kilka wierszy w tabeli 2 i w każdym z tych wierszy w kolumnie NUMER jest ta sama wartość. Teraz chciałem zapytać, czy można w jakiś sposób tak skonstruować zapytanie SQL-owe aby po usunięciu wiersza z tabeli 1 usuwały mi się również wiersze z tabeli 2? Ma to wyglądać tak że po wciśnięciu w mojej aplikacji java-oewj przycisku usuń dane, usuwa mi się konkretny wiersz z konkretną wartością kolumny NUMER z tabeli 1 i chciałbym aby automatycznie usuwały mi się również wszystkie wiersze z tabeli 2 które połączone są tym parametrem NUMER z tabelą 1.

1

Chcesz zapytanie sqlowe czy z poziomu JPA? Oczywiście, ze się da.

0

Zastanawiałem się nad zapytaniem SQL-owym ale z drugie rozwiązanie też chętnie poznam. Do tej pory robiłem to tak że wykonywałem jedno zapytanie SQL-owe a po jego wykonaniu robiłem selecta na drugiej tabeli i w pętli usuwałem wszystkie wiersze które miały taki sam numer jaki miał wiersz z pierwszej tabeli.

3

Nie trzeba żadnych zapytań, wystarczy ON DELETE CASCADE w definicji klucza obcego.

PS. Tabel nie łączy się relacjami, nie ma też czegoś takiego jak "relacja jeden do wielu". Są za to powiązania, które mają krotności.

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