MC, 14:55 środa, 22.08.2012 r.
Ilustracja do artykułu: SQL Server (T-SQL) - Opróżnianie tabeli zawierającej klucze obce (TRUNCATE, DELETE)

SQL Server (T-SQL) - Opróżnianie tabeli zawierającej klucze obce (TRUNCATE, DELETE)

Czyszczenie tabel w bazach danych zazwyczaj wykonuje się przy pomocy polecenia TRUNCATE. Nie jest to jednak możliwe, gdy mamy do czynienia z tabelą posiadającą klucze obce. W takiej sytuacji, należy podejść do opróżnienia tabeli z rekordów nieco inaczej, choć wciąż bardzo prosto.

Jak wyczyścić tabelę z kluczami obcymi?

Jak już wspomnieliśmy, jeśli tabela, którą chcemy wyczyścić zawiera klucze obce (FOREIGN KEY), nie można użyć polecenia TRUNCATE, ponieważ taka próba zakończy się niepowodzeniem. Na szczęście możemy zastosować równie proste rozwiązanie, które przyniesie pożądany efekt. Otóż wystarczy wydać polecenie DELETE jednak bez warunku WHERE, czyli de facto dotyczącego wszystkich rekordów w bazie. Po takim zabiegu, usuniemy wszystkie dane z tabeli, nawet jeśli zawiera ona klucze obce.
DELETE FROM JakasTabelaZObcymiKluczami

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: