Saya mencoba menemukan kueri yang akan mengembalikan saya daftar kunci asing untuk tabel dan tabel dan kolom yang mereka rujuk. Saya setengah jalan ke sana dengan
SELECT a.table_name,
a.column_name,
a.constraint_name,
c.owner
FROM ALL_CONS_COLUMNS A, ALL_CONSTRAINTS C
where A.CONSTRAINT_NAME = C.CONSTRAINT_NAME
and a.table_name=:TableName
and C.CONSTRAINT_TYPE = 'R'
Tapi saya masih perlu tahu tabel dan kunci utama mana yang dirujuk oleh kunci ini. Bagaimana saya mendapatkannya?
oracle
metadata
database-metadata
rangsangan
sumber
sumber
Jawaban:
Kunci utama yang dirujuk dijelaskan dalam kolom
r_owner
danr_constraint_name
tabelALL_CONSTRAINTS
. Ini akan memberi Anda info yang Anda inginkan:sumber
Coba ini:
sumber
Berikut ini skrip serba guna yang kami gunakan yang sangat praktis.
Simpan itu sehingga Anda bisa menjalankannya secara langsung (@ fkeys.sql). Ini akan memungkinkan Anda mencari oleh Pemilik dan tabel Induk atau Anak dan menunjukkan hubungan kunci asing. Skrip saat ini melakukan spool ke C: \ SQLRPTS secara eksplisit sehingga Anda harus membuat folder perubahan baris itu menjadi sesuatu yang ingin Anda gunakan.
sumber
Ini akan melakukan perjalanan hierarki kunci asing untuk tabel dan kolom tertentu dan mengembalikan kolom dari anak dan cucu, dan semua tabel turunan. Ia menggunakan sub-kueri untuk menambahkan r_table_name dan r_column_name ke user_constraints, dan kemudian menggunakannya untuk menghubungkan baris.
sumber
Ini solusi lain. Menggunakan tampilan default sys sangat lambat (kira-kira 10 detik dalam situasi saya). Ini jauh lebih cepat dari itu (sekitar 0,5 detik).
sumber
"_CURRENT_EDITION_OBJ"
tidak dikenali.SYS."_CURRENT_EDITION_OBJ"
denganSYS.OBJ$
. Ini akan berjalan pada 10g dan 11g. Dan pastikan Anda memiliki cukup hak istimewa. Saya juga mengubah jawaban saya denganSYS.OBJ$
.Jika Anda membutuhkan semua kunci asing pengguna maka gunakan skrip berikut
berdasarkan kode Vincent Malgrat
sumber
Saya tahu ini agak terlambat untuk menjawab tetapi biarkan saya tetap menjawab, beberapa jawaban di atas cukup rumit maka di sini adalah langkah yang jauh lebih sederhana.
sumber
Jika seseorang ingin membuat batasan FK dari tabel lingkungan UAT ke Live, jalankan di bawah permintaan dinamis .....
sumber
Versi saya, menurut pendapat saya, lebih mudah dibaca:
sumber
::
dengan:
dantable
dengantabl
Agak terlambat untuk menjawab, tapi saya harap jawaban saya bermanfaat bagi seseorang, yang perlu memilih kunci asing Komposit.
sumber
Saya menggunakan kode di bawah ini dan melayani tujuan saya-
sumber
sumber
user_constraints
keall_constraints
yang diperlukan.sumber
sumber
Untuk Memuat UserTable (Daftar kunci asing dan tabel yang dirujuk)
sumber