Kolumna tożsamości Oracle

Kolumna tożsamości Oracle
W tym samouczku nauczysz się, jak używać i pracować z kolumną Oracle Identity, aby zdefiniować autogenerowaną kolumnę numeryczną w tabeli.

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:

  1. Wygenerowane - zaczynamy od wygenerowanego słowa kluczowego, w którym wartości są automatycznie generowane przez silnik bazy danych.
  2. Zawsze - podobnie ta wartość zapewnia, że ​​tylko silnik bazy danych może dodać wartości do kolumny. Próba ręcznego dodania wartości spowoduje błąd.
  3. Domyślnie - spowoduje to błąd, jeśli podasz wartość zerową do kolumny.
  4. Domyślnie NULL - Oracle wygeneruje wartość zamiast zwracania błędu na wejściu NULL.
  5. Jako tożsamość - określa to, że jest to kolumna tożsamości.
  6. Zacznij od wartości - definiuje wartość początkową używaną dla kolumny tożsamości. Domyślnie wartość rozpocznie się od 1.
  7. Przyrost według wartości - określa wartość przedziału między wygenerowanymi wartościami. Domyślnie funkcja użyje interwału 1.
  8. Pamięć podręczna - określa liczbę wartości, które silnik bazy danych wygeneruje wcześniej, aby zwiększyć wydajność. Ta opcja jest przydatna, gdy musisz autogenizować wiele rekordów.

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:

  1. Tabela może pomieścić tylko jedną kolumnę tożsamości.
  2. Kolumna tożsamości nie może zawierać domyślnego ograniczenia.
  3. Tabela Utwórz nie może odziedziczyć kolumny tożsamości jako instrukcja wyboru.
  4. Wartość kolumny tożsamości może być tylko typem liczbowym.

Wniosek

W tym poście odkryłeś różne metody i techniki pracy z kolumną tożsamości w bazach danych Oracle.