sql >> Databáze >  >> RDS >> Oracle

Získání jedinečných názvů sloupců omezení z databáze Oracle

USER_CONSTRAINTS vrátí také cizí klíče. Potřebujete pouze primární a jedinečné klíče. Ale jedinečnosti lze dosáhnout také pomocí jedinečného indexu. Nezobrazí se v seznamu omezení. Musíte sledovat USER_INDEXES zobrazení. Dobré je, že primární a jedinečné klíče vytvářejí odpovídající jedinečné indexy. Je tedy nutné a dostatečné zkontrolovat USER_INDEXES.

UPD:viz Lalit Kumar B komentář uživatele.

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. Jak aktualizovat hluboce vnořený objekt JSON na základě kritérií filtru v Postgres?

  2. Získejte nedělní datum mezi dvěma daty a posledním dnem z jednoho měsíce mysql

  3. Odstranění úvodních nul z pole v příkazu SQL

  4. jaký dotaz mysql bych měl použít k výběru kategorie, která odpovídá VŠEM mým kritériím?