Rumah  >  Artikel  >  pangkalan data  >  kunci asing pertanyaan oracle

kunci asing pertanyaan oracle

WBOY
WBOYasal
2023-05-08 19:31:371123semak imbas

Kunci asing pertanyaan Oracle

Dalam reka bentuk pangkalan data, kunci asing ialah salah satu kekangan penting yang menghubungkan dua jadual. Kunci asing ialah lajur atau lajur dalam jadual yang nilainya sepadan dengan nilai kunci utama atau lajur kunci unik dalam jadual lain. Kunci asing memastikan integriti dan konsistensi data. Apabila kunci asing digunakan apabila satu baris dimasukkan, dikemas kini atau dipadamkan dalam jadual induk, ia secara automatik melaksanakan operasi yang sepadan dalam jadual hamba.

Menyoal kunci asing ialah salah satu aspek penting dalam pengurusan pangkalan data. Dalam Pangkalan Data Oracle, cara anda menanyakan kunci asing bergantung pada maklumat yang ingin anda perolehi. Berikut adalah beberapa pertanyaan daripada senarai yang mungkin berguna.

Soal semua kunci asing untuk jadual tertentu

Dalam Oracle, anda boleh menggunakan pertanyaan berikut untuk mencari semua kunci asing untuk jadual tertentu:

SELECT constraint_name, table_name , column_name, owner
FROM all_cons_columns
WHERE owner = 'YourTableName' DAN constraint_name LIKE 'FK_%' ORDER BY constraint_name;

Pertanyaan ini akan mengembalikan nama kekangan semua kunci asing bagi jadual yang diberikan, Nama jadual, nama lajur dan pemilik.

Pertanyaan untuk kunci asing tertentu dalam jadual tertentu

Jika anda hanya mahu mencari kunci asing tertentu dalam jadual tertentu, anda boleh menggunakan pertanyaan berikut:

SELECT constraint_name , table_name, column_name, owner
FROM all_cons_columns
WHERE constraint_name = 'YourForeignKeyName' DAN owner = 'YourTableName';

Ini akan mengembalikan nama kekangan, nama jadual dan nama pemilik.

Soal jadual yang dirujuk oleh semua kekunci asing

Untuk mencari jadual yang dirujuk oleh kekunci asing, gunakan pertanyaan berikut:

PILIH DISTINCT f.constraint_name, r.table_name, f. nama_jadual
DARI semua_kekangan r, semua_kekangan f
WHERE r.constraint_type = 'P'
DAN f.r_constraint_name = r.constraint_name
dan f.constraint_type = 'R'; Pertanyaan ini akan mengembalikan nama kekangan semua kunci asing, jadual rujukan dan nama jadual yang berkaitan.

Soal jadual (utama) dan lajur kunci asing yang dirujuk

Untuk mencari jadual dan lajur yang merujuk kunci asing, gunakan pertanyaan berikut:

PILIH c .nama_jadual, c .nama_lajur, cc.nama_jadual_jadual_jadual, cc.nama_lajur_lajur_lajur, c.nama_kekangan

DARI semua_kekangan c, semua_kekangan cc

WHERE cc.owner = c.r_constraint_🎜 = c.r_constraint_🎜 =nama_kekangan_ cc. >DAN c. constraint_type = 'R';

Ini akan mengembalikan senarai nama jadual kunci asing, nama lajur, nama jadual yang berkaitan, nama lajur yang berkaitan dan nama kekangan.

Pertanyaan untuk butiran tentang kunci asing

Anda boleh menggunakan pertanyaan berikut untuk mendapatkan butiran tentang kunci asing:

PILIH nama_kekangan, nama_jadual, status, delete_rule, boleh ditangguhkan, disahkan

FROM all_constraints c

WHERE constraint_type = 'R' AND owner = 'YourTableName' AND constraint_name = 'YourForeignKeyName';


Pertanyaan ini akan mengembalikan butiran tentang kunci asing seperti nama kekangan, Nama jadual, status , peraturan pemadaman, penangguhan dan status pengesahan.

Ringkasnya, menanyakan kunci asing adalah aspek penting dalam pengurusan pangkalan data untuk memastikan integriti dan konsistensi data antara jadual. Dalam Oracle, anda boleh menggunakan pelbagai pertanyaan untuk mencari maklumat tentang kunci asing. Pertanyaan yang disenaraikan di atas adalah antara beberapa yang boleh anda gunakan yang akan mengembalikan butiran kunci asing dan maklumat tentang jadual dan lajur yang dirujuk oleh kunci asing itu.

Atas ialah kandungan terperinci kunci asing pertanyaan oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:laluan pemasangan oracleArtikel seterusnya:laluan pemasangan oracle