Indeks Oracle Drop

Indeks Oracle Drop

W bazach danych Oracle indeks odnosi się do struktury danych, która rozwija szybkość operacji pobierania danych w tabeli bazy danych. Może to jednak mieć karę dodatkowych operacji zapisu i miejsca do przechowywania w bazie danych.

W tym samouczku dowiesz się, jak upuścić istniejący indeks z tabeli bazy danych za pomocą polecenia Drop Index.

Polecenie indeksu indeksu Oracle

Poniżej pokazuje składnię komendy Index Index w bazach danych Oracle:

Upuścić nazwę indeksu indeksu;


Zastąpić nazwę indeksu nazwa indeksu, którą chcesz upuścić.

Jeśli indeks, który chcesz upuścić, znajduje się w innym schemacie, musisz określić nazwę schematu w instrukcji Index. Na przykład:

Upuść Schemat_name_name.index_name;


W takim przypadku musisz zastąpić nazwę Schema_name na nazwę schematu, w której znajduje się indeks.

Oracle Utwórz przykładowy indeks

Poniższe przykładowe oświadczenie tworzy przykładowy indeks w tabeli pracowników do celów ilustracyjnych.

Utwórz indeks multi_Lookup na pracownikach (nazwa pierwszej_namii, nazwa_nast_);


W tej sekcji nie obejmuje szczegółów tworzenia indeksów w bazach danych Oracle. Sprawdź nasz samouczek na polecenie Oracle Utwórz indeks, aby dowiedzieć się więcej.

Po utworzeniu indeksu możemy go usunąć, jak pokazano w sekcji poniżej:

Indeks Oracle Drop

Użyj instrukcji upuść indeks, a następnie nazwa indeksu, aby upuścić powyższy indeks, jak pokazano:

upuść indeks multi_lookup;


Powyższe zapytanie usunie indeks o nazwie multi_lookup z bieżącego schematu.

Indeks Oracle Drop - warunkowy

W Oracle próba usunięcia nieistniejącego indeksu spowoduje błąd. Weźmy przykładowe zapytanie poniżej:

upuść indeks multi_lookup;


Ponieważ indeks Multi_Lookup nie istnieje, zapytanie zwróci błąd:

[72000] [1418] ORA-01418: określony indeks nie istnieje


W niektórych silnikach bazy danych moglibyśmy to przezwyciężyć, dodając klauzulę IF If If If.

Niestety, niektóre starsze wersje Oracle nie mają polecenia IF,. Możemy jednak zaimplementować niestandardową logikę do zapobiegania wyjątkom, jeśli indeks nie istnieje, jak pokazano:

Declare index_num liczba całkowita;
ZACZYNAĆ
Wybierz liczbę (*) do index_num
Z user_indexes
Gdzie index_name = 'index_name';
Jeśli index_count> 0, to
Wykonaj natychmiastowe „Upuść indeks indeksu_name”;
Zakończyć, jeśli;
KONIEC;


Ten kod używa bloku PL/SQL do upuszczenia indeksu, jeśli istnieje. Zaczynamy od deklarowania zmiennej o nazwie index_num do przechowywania liczby indeksów o podanej nazwie.

Następnie używamy instrukcji SELECT, aby policzyć liczbę indeksów o podanej nazwie w tabeli user_indexes i przechowywać wynik w zmiennej index_num.

Następnie używamy bloku if, aby sprawdzić, czy wartość zmiennej index_num jest większa niż 0. Jeśli prawda, usuwamy wszystkie indeksy o określonej nazwie. W przeciwnym razie nie wywołymy instrukcji Usuń indeks zapobiegający wszelkim wyjątkom.

Wniosek

Podsumowując, instrukcja upuszczania indeksu usuwa indeks z tabeli bazy danych w Oracle. Składnia tego stwierdzenia to:

Upuścić nazwę indeksu indeksu;


Aby upuścić indeks w innym schemacie, możesz użyć następującej składni:

Upuść Schemat_name_name.index_name;


Możesz użyć klauzuli if Ists w instrukcji upuszczenia indeksu, aby zapobiec wyrzuceniu wyjątku, jeśli indeks nie istnieje. Na przykład:

Upuść indeks, jeśli istnieje nazwa index_name;


Alternatywnie, jak pokazano w poprzednich przykładach, możesz użyć bloku PL/SQL, aby sprawdzić, czy indeks istnieje przed próbą jego upuszczenia.