Oracle
 sql >> база данни >  >> RDS >> Oracle

Получаване на уникални имена на колони с ограничения от база данни на Oracle

USER_CONSTRAINTS ще върне и външни ключове. Имате нужда само от първични и уникални ключове. Но уникалността може да бъде постигната и чрез уникален индекс. Няма да се показва в списъка с ограничения. Трябва да гледате USER_INDEXES изглед. Хубавото е, че първичните и уникалните ключове създават съответните уникални индекси. Така че е необходимо и достатъчно да проверите USER_INDEXES.

UPD:вижте Lalit Kumar B коментар на.

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. Как да направя oracle TNSPING с java?

  2. Пуснете таблицата от базата данни на oracle, ако таблицата съществува в sql израза

  3. Как да получите израз за създаване на таблица на Oracle в SQL*Plus

  4. върнете набор от резултати от функцията

  5. Базово преобразуване на PL/SQL без функции