Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Mendapatkan nama kolom kendala unik dari database Oracle

USER_CONSTRAINTS juga akan mengembalikan kunci asing. Anda hanya perlu kunci utama dan unik. Tetapi keunikan dapat dicapai melalui indeks unik juga. Itu tidak akan ditampilkan dalam daftar batasan. Anda perlu melihat tampilan USER_INDEXES. Poin baiknya adalah kunci utama dan unik membuat indeks unik yang sesuai. Jadi, perlu dan cukup untuk memeriksa USER_INDEXES.

UPD:lihat Lalit Kumar B komentar.

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. Mengubah tipe data kolom, yang direferensikan oleh tabel lain

  2. Cara Mengonversi Desimal ke Heksadesimal menggunakan TO_CHAR() di Oracle

  3. Bagaimana saya bisa mencegah Pengembang Oracle SQL menutup koneksi DB?

  4. Gunakan gv$session untuk mengetahui apakah kueri menggantung

  5. Oracle:Pisahkan bidang teks pada baris baru