Jak zmienić tabelę dodaj kolumnę w bazie danych Oracle
- Dodajesz nową kolumnę za pomocą ALTER TABLE ADD COLUMN oświadczenie w Oracle
- Tabela musi być zawarta w schemacie. Aby zmienić tabelę, możesz też mieć uprawnienia ALTER do obiektu dla tabeli lub uprawnienia systemowe ALTER ANY TABLE.
- Jeśli widok, widok zmaterializowany, wyzwalacz, indeks oparty na funkcji, ograniczenie sprawdzające, funkcja, procedura pakietu zależą od tabeli podstawowej, zmiana tabeli podstawowej lub jej kolumn może wpłynąć na obiekt zależny. Na przykład obiekty PLSQL stają się nieprawidłowy jeśli obiekt tabeli zależnej zostanie zmieniony i musisz przywrócić mu poprawność
Możemy dodać nową kolumnę do definicji tabeli Za pomocą polecenia alter table add
ALTER TABLE tech_master ADD (name varchar2(9)); Table Altered
- Przed 11g, jeśli do tabeli zostanie dodana nowa kolumna, będzie ona początkowo mieć wartość NULL, chyba że określisz klauzulę DEFAULT. . Po określeniu wartości domyślnej baza danych natychmiast aktualizuje każdy wiersz wartością domyślną. Pamiętaj, że może to zająć trochę czasu, a podczas aktualizacji na stole znajduje się ekskluzywna blokada DML.
- W przypadku niektórych typów tabel (na przykład tabel bez kolumn LOB), jeśli określisz zarówno ograniczenie NOT NULL, jak i wartość domyślną, baza danych może zoptymalizować operację dodawania kolumn i znacznie skrócić czas przechowywania tabeli zablokowane dla DML. To samo dotyczy dodawania kolumn innych niż null z wartością domyślną
- Oracle wprowadziła funkcję szybkiego dodawania kolumn w 11g, więc gdy dodamy niepustą kolumnę z wartością domyślną lub zerową kolumnę z wartością domyślną, Oracle natychmiast dodaje kolumnę i nie aktualizuje każdego wiersza wartością domyślną. S
- o wiąże się to z jakąkolwiek karą za ponawianie i cofanie generowania. Kiedy użytkownik wybiera kolumnę dla istniejącego rekordu, Oracle otrzymuje informację o wartości domyślnej ze słownika danych i zwraca ją użytkownikowi.
Nie możesz określić, gdzie ma się pojawić kolumna. Nowo dodana kolumna staje się ostatnią kolumną
Podobnie możemy dodać wiele kolumn do tabeli
ALTER TABLE table_name ADD (col1 column datatype [default expr], col2 column datatype [default expr], ... coln column datatype [default expr]); Example ALTER TABLE customer_master ADD (location_name varchar2(100), last_login date);
Konwencje nazewnictwa kolumn są takie same jak w przypadku instrukcji Utwórz tabelę
- Nazwa wybrana dla kolumny musi być zgodna z następującymi standardowymi zasadami:
- Nazwa musi zaczynać się od litery A-Z lub a-z
- może zawierać cyfry i podkreślenia
- Może być wielkimi lub małymi literami
- Może mieć długość do 30 znaków
- Nie można użyć tej samej nazwy innego istniejącego obiektu w schemacie
- Nie może być serwerem Oracle i słowem zastrzeżonym SQL
Typy danych są ponownie takie same, jak instrukcja tworzenia tabeli
Znak | -CHAR, NCHAR, VARCHAR2 i NVARCHAR2. – Typ danych CHAR jest ciągiem alfanumerycznym o stałej długości, który ma maksymalną długość w bajtach. -Podczas tworzenia typu danych CHAR baza danych zachowa miejsce na przychodzące dane, a jeśli dane są krótsze niż maksymalny rozmiar, zostaną dopełnione spacją po prawej stronie -Typ danych VARCHAR2 jest zmienną -length ciąg znaków alfanumerycznych, który ma maksymalną długość w bajtach. Może przechowywać do 4000 bajtów. |
Numer | -NUMBER -Typ NUMBER przechowuje liczby z dokładnością i skalą. -Numeryczne typy danych przechowują ujemne i dodatnie liczby całkowite, liczby stałoprzecinkowe i zmiennoprzecinkowe – Gdy kolumna jest zdefiniowana jako LICZBA (6, 2), zakres wartości może być przechowywany od –999,99 do 9999,99. Oracle zaokrągla liczby zmiennoprzecinkowe. |
Data i godzina | – DATA, ZNACZNIK CZASOWY (ze strefą czasową lub lokalną strefą czasową), PRZEDZIAŁ ROK DO MIESIĄCA I PRZEDZIAŁ DZIEŃ DO SEKUNDY. -Typ danych DATE służy do przechowywania informacji o dacie i godzinie. -Ten typ danych ma wiele specyficznych funkcji do manipulowania, formatowania i przeglądania jego danych. – Typ danych DATE przechowuje siedem bajtów i zawiera informacje o wieku, roku, miesiącu, dniu, godzinach, minutach i sekundach. – Parametr NLS_DATE_FORMAT można zmienić, aby sterować wyświetlaniem danych. Funkcja SYSDATE zwraca bieżącą datę |
Duże obiekty | -BLOB (duży obiekt binarny) , CLOB (duży obiekt znakowy) , NCLOB &BFILE — Kolumny tych typów danych mogą przechowywać nieustrukturyzowane dane, w tym tekst, obraz, wideo i dane przestrzenne. -Typ danych CLOB może przechowywać do ośmiu terabajtów danych znakowych przy użyciu zestawu znaków bazy danych CHAR. -Typ danych BLOB służy do przechowywania nieustrukturyzowanych dużych obiektów binarnych, takich jak te związane z danymi obrazu i wideo, gdzie dane są po prostu strumieniem wartości „bitowych”. -Wartość typu danych BFILE działa jako lokalizator plików lub wskaźnik do pliku w systemie plików serwera. Maksymalny obsługiwany rozmiar pliku to 8TB do 128TB. |
Długie | Dane znaków o zmiennej długości do 2 G |
rowid | System liczb bazowych 64 reprezentujący unikalny adres wiersza w tabeli |
Przykład
Przed dodaniem kolumny
Desc emp
Zmień kolumnę dodawania tabeli
alter table emp add(ext varchar2(10));
Po dodaniu kolumny
Desc emp
Teraz upuść tę kolumnę
alter table emp drop column ext;
Mam nadzieję, że podoba Ci się artykuł Jak zmienić kolumnę dodawania tabeli w Oracle
Powiązane artykułyOracle tworzy składnię tabeli
Zmień tabelę w Oracle
zmień przenoszenie tabeli
Instrukcja DROP TABLE ORACLE
sprawdź rozmiar tabeli Oracle
ora-20005:statystyki obiektów są zablokowane