ORACle Check Ograniczenie

ORACle Check Ograniczenie

Integralność domeny danych lub integralność domeny to funkcja bazy danych, która zapewnia, że ​​wszystkie dane podane w kolumnie tabeli są zgodne z określonym zestawem prawidłowych wartości. Ta funkcja minimalizuje uszkodzenie danych i powielają wartości w danej bazie danych.

W tym samouczku dowiesz się, jak egzekwować integralność domeny w swojej bazie danych Oracle za pomocą ograniczenia sprawdzania.

ORACle Check Ograniczenie

Ograniczenie kontroli pozwala nam zdefiniować wyrażenia logiczne, które mogą zwrócić prawdziwe lub fałsz. Silnik bazy danych oceni następnie wszystkie dane wstawione lub zaktualizowane w tej kolumnie, aby upewnić się, że przestrzega reguł wyrażenia.

Jeśli dane przylegają do reguł wyrażenia, silnik bazy danych akceptuje dane i zezwala na instrukcję wstawki lub aktualizacji. W przeciwnym razie, jeśli dane nie są zgodne z przepisami, silnik bazy danych odrzuca dane i zaprzecza operacji wstawki lub aktualizacji.

Jedna kolumna może mieć jedno lub więcej ograniczeń kontroli, pod warunkiem, że nie są sprzeczne z innymi istniejącymi ograniczeniami kontroli. Ponadto nie należy zakładać kolejności oceny ekspresji.

Podobnie możesz mieć więcej niż jedną kolumnę z ograniczeniem kontroli.

Zasady ograniczenia czeku w Oracle

Podczas definiowania ograniczenia kontroli w bazach danych Oracle upewnij się:

  1. Ograniczenie kontroli jest zdefiniowane w tabeli Oracle, a nie widok.
  2. Ograniczenie sprawdzania musi odnosić się tylko do kolumn w tej tabeli, a nie zagraniczne tabele.
  3. Ograniczenia czeku nie można zdefiniować w podtrzymaniu.
  4. Wyrażenie o ograniczeniu kontroli nie może zawierać funkcji nieokreślenia, funkcji zdefiniowanych przez użytkownika, zagnieżdżonych tabel, pseudo kolumn lub zagnieżdżonych atrybutów.

Oracle Utwórz ograniczenie czeku

Zaleca się utworzenie ograniczenia kontroli podczas tworzenia tabeli. Zapewnia to, że wszystkie dane wstawione lub zaktualizowane do tabeli odpowiadają regułom ograniczenia.

Poniżej znajduje się składnia do dodania ograniczenia kontroli podczas tworzenia tabeli:

Utwórz Tabela Table_name (
kolumny,
kolumn_name, data_type Check (Constraint_Expression);
);

Aby zdefiniować ograniczenie kontroli, zaczynamy od nazwy kolumny, w której chcemy zastosować ograniczenie next, typu danych kolumny i słowo kluczowe sprawdzania. Wreszcie wyrażenie ograniczenia jest dostarczane wewnątrz pary nawiasów.

Chociaż nie jest to konieczne, czasami może być konieczne przypisanie unikalnego identyfikatora do ograniczenia kontroli ręcznie; W takim scenariuszu możesz użyć instrukcji ograniczenia:

Utwórz tabelę Table_nam (
kolumny
CONTERINT CONTERINT_NAME
Check (Constraint_Expression)
);

Oracle Utwórz przykład ograniczenia

Poniższy przykład tworzy tabelę produktów z ograniczeniem kontroli, która zapewnia zawsze dostępność akcji:

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 powyższej tabeli definiujemy kolumnę ilościową z ograniczeniem kontroli, która zapewnia, że ​​wartość danych tej kolumny jest większa niż 0.

W takim przypadku ograniczenie zapewnia, że ​​produkty przechowywane w bazie danych są zawsze w magazynie.

Jeśli spróbujemy dodać rekord, w którym ilość wynosi 0 lub liczba ujemna, Oracle zwróci błąd i nie uda.

Przykład:

Wstaw do produktów (nazwa_produktu, ilość, cena) wartości („Microsoft Volterra”, 0, 599);

Powyższe żądanie zwraca błąd:

Błąd SQL [2290] [23000]: ORA-02290: Sprawdź ograniczenie (HR.SYS_C007662) Naruszone

Ograniczne ograniczenie sprawdzania kropli

Gdy nie potrzebujesz już ograniczenia kontroli na stole, możesz upuścić go z tabeli za pomocą alter

Polecenie ograniczenia upuszczania tabeli:
Zmień tabelę TABLE_NAME
Upuść Constrainta Contract_name;

Oracle wyłącz ograniczenie sprawdzania

Czasami możesz tymczasowo wyłączyć ograniczenie bez usunięcia go z tabeli. Użyj polecenia:

Zmień tabelę TABLE_NAME
Wyłącz nazwę ograniczenia ograniczenia;

Oracle Włącz ograniczenie sprawdzania

Aby włączyć nieaktywne ograniczenie kontroli, uruchom następujące:

Zmień tabelę TABLE_NAME
Włącz nazwę ograniczenia ograniczenia;

Wniosek

W tym samouczku odkryłeś, jak korzystać z ograniczenia kontroli w bazach danych Oracle, aby umożliwić dodanie lub aktualizację tylko wartości pasujących do określonego warunku w danej tabeli.