Co realizuje polecenie
ALTER TABLE USA ALTER COLUMN populacja SET DEFAULT 0;
A. dodanie do tabeli USA nowej kolumny populacja z wartością 0
B. zmianę typu kolumny populacja na liczbowy
C. wpisanie wartości 0 do kolumny populacja we wszystkich istniejących wierszach
D. ustawienie wartości domyślnej 0 dla kolumny populacja
Poprawna jest odpowiedź: ustawienie wartości domyślnej 0 dla kolumny populacja. Polecenie ALTER TABLE USA ALTER COLUMN populacja SET DEFAULT 0 modyfikuje definicję istniejącej kolumny w tabeli USA, dopisując do niej domyślną wartość. Od tego momentu, gdy podczas wstawiania nowego rekordu nie zostanie podana wartość dla kolumny populacja, system bazy danych może automatycznie wstawić 0. Do zapamiętania jest schemat: ALTER TABLE nazwa_tabeli ALTER COLUMN nazwa_kolumny SET DEFAULT wartość. DEFAULT jest elementem definicji kolumny, a nie operacją aktualizacji danych. W praktyce stosuje się to przy kolumnach, które często mają typową wartość początkową, np. licznik, status lub flaga.
W tym poleceniu najłatwiej pomylić zmianę definicji kolumny z modyfikacją zapisanych danych. Poprawna odpowiedź to ustawienie wartości domyślnej 0 dla kolumny populacja. Zmianę typu kolumny populacja na liczbowy wykonuje się inną składnią, związaną ze zmianą typu danych, a nie z SET DEFAULT. Wpisanie wartości 0 do kolumny populacja we wszystkich istniejących wierszach wymaga polecenia UPDATE, na przykład w postaci aktualizacji rekordów w tabeli. DEFAULT nie przepisuje automatycznie starych wartości. Dodanie do tabeli USA nowej kolumny populacja z wartością 0 wymagałoby użycia ADD COLUMN, ponieważ ALTER COLUMN działa na kolumnie już istniejącej. Typowy błąd polega na odczytaniu słowa DEFAULT jako nakazu natychmiastowego wstawienia wartości 0. W SQL oznacza ono wartość używaną przy późniejszym INSERT, gdy dla tej kolumny nie podano jawnej wartości.