Jeśli kiedykolwiek pracowałeś z bazami danych MySQL, możesz znać kolumnę Auto_Increment. W Oracle używamy kolumny tożsamości, aby umożliwić silnik bazy danych na automatyczne generowanie wartości liczbowej dla każdego wiersza dodanego do tabeli w określonym przedziale.
Kolumna tożsamości Oracle
Kolumna Oracle Identity jest dostępna w wersji 12C i powyżej. Kolumna tożsamości automatycznie generuje wartość numeryczną dla każdego wiersza włożonego do tabeli.
Ponieważ silnik bazy danych generuje unikalną wartość dla każdego wiersza dodanego do tabeli, działa jako klucz podstawowy w bazie danych.
W Oracle definiujemy kolumnę tożsamości za pomocą składni poniżej:
Wygenerowane [zawsze | Domyślnie [na NULL]]
Jako tożsamość [(tożsamość_options)]
Parametry instrukcji, jak pokazano powyżej, zawierają następujące:
Kolumny tożsamości Oracle
Odkryjmy podstawowe przykłady korzystania z kolumny tożsamości w bazach danych Oracle.
Oracle Utwórz kolumnę tożsamości
Najczęstszym i zalecanym sposobem utworzenia kolumny tożsamości w tabeli jest podczas tworzenia.
Poniższy przykład pokazuje, jak możemy to osiągnąć:
Utwórz produkty stołowe (
Numer produktu generowany zawsze jako tożsamość,
Product_name varchar2 (255) nie null,
Numer ilościowej, a nie zerowa kontrola (ilość> 0),
Numer ceny,
Klucz podstawowy (produkt_id)
);
Powyższa instrukcja tworzy tabelę o nazwie Products z kolumną tożsamości produktu_id.
Następnie możemy wstawić niektóre przykładowe rekordy do tabeli jako:
Wstaw do produktów (nazwa_produktu, ilość, cena) wartości („Microsoft Volterra”, 0, 599);
W takim przypadku nie określiliśmy wartości dla kolumny Product_ID w powyższej tabeli. Umożliwi to silnik bazy danych na automatyczne generowanie wartości dla dodanych kolumn. Jak wspomniano, Oracle rozpocznie się od wartości 1 i przyrostu o 1 dla każdego dodanego wiersza.
Jak wspomniano, próba dodania wartości kolumny tożsamości spowoduje błąd:
Wstaw do produktów (Product_id, Product_name, Ilości, Cena) Wartości (2, „Microsoft Volterra”, 10, 599);
Wynikowy błąd:
Błąd SQL: ORA-32795: Nie można wstawić do wygenerowanej kolumny tożsamości zawsze
Jest tak, ponieważ kolumna tożsamości jest ustawiona na zawsze generowanie.
Przykład 2 - Domyślnie tożsamość Oracle wygenerowana.
Możemy również zmienić kolumnę tożsamości z wygenerowanej zawsze na wygenerowaną domyślnie jako:
Utwórz produkty stołowe (
Numer produktu generowany domyślnie jako tożsamość,
Product_name varchar2 (255) nie null,
Numer ilościowej, a nie zerowa kontrola (ilość> 0),
Numer ceny,
Klucz podstawowy (produkt_id)
);
W takim przypadku możemy ręcznie dodać wartość dla kolumny Product_ID.
Wstaw do produktów (Product_id, Product_name, Ilości, Cena) Wartości (1, „Microsoft Volterra”, 0, 599);
Podobnie, jeśli nie zapewnimy wartości dla kolumny, silnik bazy danych wygeneruje ją automatycznie.
Nie można wstawić wartości zerowej do kolumny tożsamości, jak zdefiniowano powyżej.
Przykład 3
Możemy również zdefiniować początek z wartościami interwałowymi podczas tworzenia tabeli, jak pokazano:
Utwórz produkty stołowe (
Numer produktu generowany domyślnie jako tożsamość zaczyna się od 10 przyrostów o 2,
Product_name varchar2 (255) nie null,
Numer ilościowej, a nie zerowa kontrola (ilość> 0),
Numer ceny,
Klucz podstawowy (produkt_id)
);
W takim przypadku wartości autogenerowane rozpoczną się od dziesięciu i przyrostu o 2 dla każdego nowego wiersza dodanego do tabeli.
Punkty, aby zwrócić uwagę
Chociaż kolumna tożsamości zapewnia ogromną wygodę podczas pracy z dużym zestawem danych, ma ograniczenia. Obejmują one:
Wniosek
W tym poście odkryłeś różne metody i techniki pracy z kolumną tożsamości w bazach danych Oracle.