Podsumowanie: w tym samouczku dowiesz się, jak używać Oracle ALTER TABLE MODIFY
instrukcja kolumny, aby zmienić definicję istniejących kolumn.
Aby zmienić definicję kolumny w tabeli, użyj składni kolumny ALTER TABLE MODIFY
w następujący sposób:
Instrukcja jest prosta. Aby zmodyfikować kolumnę tabeli, musisz określić nazwę kolumny, nazwę tabeli i akcję, którą chcesz wykonać.
Oracle umożliwia wykonanie wielu czynności, ale główne z nich są następujące:
- Zmodyfikuj widoczność kolumny
- Zezwalaj lub nie zezwalaj na wartości null
- Skróć lub poszerz rozmiar kolumny
- Zmień domyślna wartość kolumny
- Modyfikuj wyrażenie wirtualnych kolumn
Aby zmodyfikować wiele kolumn, użyj następującej składni:
Przykłady kolumn Oracle ALTER TABLE MODIFY
Najpierw utwórz nową tabelę o nazwie accounts
do demonstracji:
Po drugie, wstaw kilka wierszy do tabeli accounts
:
Po trzecie, sprawdź operację wstawiania, używając następującego SELECT
:
A) Zmodyfikuj widoczność kolumny ity
W Oracle Database 12c można zdefiniować kolumny tabeli jako niewidoczne lub widoczne. Niewidoczne kolumny nie są dostępne dla zapytania, takiego jak:
Lub stwierdzenie takie jak:
w SQL * Plus.
Możesz jednak zapytać o niewidoczne kolumny, określając je jawnie w zapytaniu:
Według Domyślnie kolumny tabeli są widoczne. Możesz zdefiniować niewidoczną kolumnę podczas tworzenia tabeli lub za pomocą instrukcji kolumnowej ALTER TABLE MODIFY
.
Na przykład poniższa instrukcja tworzy full_name
kolumna niewidoczna:
Poniższa instrukcja zwraca dane ze wszystkich kolumn tabeli accounts
z wyjątkiem kolumny full_name
:
Dzieje się tak, ponieważ kolumna full_name
jest niewidoczna.
Aby zmienić kolumna z niewidocznego do widocznego, użyj poniższej instrukcji:
B) Zezwalaj lub nie zezwalaj na przykład o wartości null
Następująca instrukcja zmienia kolumna email
, aby akceptować wartości inne niż null:
Jednak Oracle zgłosiło następujący błąd:
Ponieważ po zmianie kolumny z wartości null na n dopuszcza wartość null, musisz upewnić się, że istniejące dane spełniają nowe ograniczenie.
Aby to naprawić, najpierw aktualizujemy wartości w kolumnie email
:
Zwróć uwagę, że funkcja LOWER()
konwertuje ciąg na małe litery.
Następnie zmień ograniczenie kolumny:
Teraz działa zgodnie z oczekiwaniami.
C) Poszerz lub skróć rozmiar przykładowej kolumny
Załóżmy, że chcemy dodać międzynarodowy kod do numerów telefonów. Zanim to zrobimy, musimy poszerzyć rozmiar kolumny telefonu, używając następującej instrukcji:
Teraz możemy zaktualizować numery telefonów:
Następująca instrukcja weryfikuje aktualizację:
Aby skrócić rozmiar kolumny, upewnij się, że wszystkie dane w kolumnie pasują do nowego rozmiaru.
Na przykład próbujemy skrócić rozmiar kolumny phone
do 12 znaków:
Oracle Database wydał następujący błąd:
Aby to naprawić, najpierw należy usunąć międzynarodowy kod z numerów telefonów:
Funkcja REPLACE()
zastępuje podłańcuch nowym. W tym przypadku znak „+ 1-” zastępuje pusty ciąg.
A następnie skróć rozmiar kolumny phone
:
D) Zmień wirtualna kolumna
Załóżmy, że mamy pełną nazwę w następującym formacie:
Aby to zrobić, możemy zmienić wyrażenie wirtualna kolumna full_name
w następujący sposób:
Poniższa instrukcja weryfikuje modyfikację:
E) Zmień domyślną wartość kolumny
Dodajmy nową kolumnę o nazwie status
do tabeli accounts
z wartością domyślną 1.
Po wykonaniu instrukcji wartości w kolumnie stanu są ustawiane na 1 dla wszystkich istniejących wierszy w tabeli accounts
.
Aby zmienić wartość domyślną o Jeśli kolumna stanu ma wartość 0, użyj następującej instrukcji:
Możemy dodać nowy wiersz do accounts
table, aby sprawdzić, czy domyślna wartość kolumny status
to 0 czy 1:
Zapytanie o dane z tabeli accounts
:
Jak widać, wartość w kolumnie stanu konta o identyfikatorze 4 zgodnie z oczekiwaniami wynosi 0.
W tym samouczku nauczyłeś się, jak używać instrukcji kolumnowej Oracle ALTER TABLE MODIFY
do zmiany definicji istniejących kolumn w tabeli.
- Czy ten samouczek był pomocny?
- Tak Nie