Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Pobieranie unikalnych nazw kolumn z ograniczeniami z bazy danych Oracle

USER_CONSTRAINTS zwróci również klucze obce. Potrzebujesz tylko kluczy podstawowych i unikalnych. Ale wyjątkowość można również osiągnąć dzięki unikalnemu indeksowi. Nie pojawi się na liście ograniczeń. Musisz obejrzeć widok USER_INDEXES. Zaletą jest to, że klucze podstawowe i unikatowe tworzą odpowiadające im unikalne indeksy. Dlatego konieczne i wystarczające jest sprawdzenie USER_INDEXES.

UPD:patrz Lalit Kumar B komentarz.

select c.COLUMN_NAME
from USER_INDEXES i, USER_IND_COLUMNS c
where i.TABLE_NAME = 'YOUR_TABLE'
  and i.UNIQUENESS = 'UNIQUE'
  and i.TABLE_NAME = c.TABLE_NAME
  and i.INDEX_NAME = c.INDEX_NAME
union
select cc.COLUMN_NAME
from USER_CONSTRAINTS con, USER_CONS_COLUMNS cc
where con.TABLE_NAME = 'YOUR_TABLE'
  and con.CONSTRAINT_TYPE in ( 'U', 'P' )
  and con.TABLE_NAME = cc.TABLE_NAME
  and con.CONSTRAINT_NAME = cc.CONSTRAINT_NAME


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak określić nazwę hosta w Oracle APEX?

  2. Zapytanie Oracle Pivot daje kolumny z cudzysłowami wokół nazw kolumn. Co?

  3. Wymuś rozróżnianie wielkości liter w identyfikatorze w Oracle

  4. Podziel wartości oddzielone przecinkami w kolumnie w wierszu za pomocą zapytania Oracle SQL

  5. Wybierz wiersze, gdy wartość kolumny zmieni się między datą w Oracle?