Bagaimana untuk menyelesaikan ralat oracle12154
Ralat Oracle 12154 berlaku kerana pelanggaran kekangan kunci asing. Untuk menyelesaikan isu ini: Kenal pasti kekangan kunci asing dan rekod yang melanggar. Pertimbangkan empat penyelesaian: mengemas kini/memadamkan, mengehadkan lata, menyekat atau mengalih keluar/mengemas kini rujukan subtable. Pilih dan laksanakan penyelesaian yang paling sesuai. Akhirnya sahkan bahawa pelanggaran telah diselesaikan.
Oracle Ralat 12154: Penyelesaian
Oracle Ralat 12154 menunjukkan bahawa pelanggaran kekangan kunci asing ditemui semasa melakukan operasi kemas kini atau pemadaman. Ia biasanya berlaku apabila cuba mengubah suai atau memadam rekod yang mengandungi rujukan kepada data dalam jadual lain.
Langkah penyelesaian:
1. Tentukan kekangan kunci asing yang melanggar:
Cari kunci asing dan nama jadual daripada mesej ralat. Contohnya:
<code>ORA-12154: TNS:could not resolve the connect identifier specified</code>
Dalam contoh ini, TNS
ialah kunci asing yang terlibat dan connect
ialah jadual yang mengandungi rekod yang menyinggung perasaan. TNS
是涉及的外键,connect
是包含违规记录的表。
2. 查找违规记录:
使用以下查询查找违规记录:
SELECT * FROM connect WHERE TNS = [外键值];
3. 修复违规:
有四种方法可以解决外键约束违规:
- 级联更新或删除:修改父表中的值以匹配子表中的值。
- 级联限制:在父表中不允许修改或删除违规记录。
- 禁止:阻止任何导致违规的操作。
- 删除或更新子表中的引用:在子表中删除或更新引用父表的记录。
4. 选择最合适的解决方案:
根据数据约束和业务要求选择最合适的解决方案。
5. 执行解决方案:
使用适当的 SQL 语句执行所选解决方案,例如:
-
级联更新:
UPDATE parent_table SET column_name = new_value WHERE id IN (SELECT id FROM child_table WHERE foreign_key_column = old_value);
-
级联删除:
DELETE FROM parent_table WHERE id IN (SELECT id FROM child_table WHERE foreign_key_column = old_value);
-
删除子表中的引用:
DELETE FROM child_table WHERE foreign_key_column = old_value;
-
禁止:在表中添加外键约束时指定
ON DELETE RESTRICT
或ON UPDATE RESTRICT
。
6. 验证解决方案:
执行SELECT * FROM child_table WHERE foreign_key_column = [外键值];
- 🎜Kemas kini lata: 🎜
KEMASKINI parent_table SET column_name = new_value IN (WHERE id IN) PILIH id DARI child_table WHERE foreign_key_column = old_value); - 🎜Cascading delete: 🎜
DELETE FROM parent_table WHERE id IN (SELECT id FROM child_table WHERE foreign_key_column = old_value);
code> - 🎜Padam rujukan dalam jadual anak: 🎜
PADAM DARI child_table WHERE foreign_key_column = old_value; - 🎜Dilarang: 🎜Tambah kunci asing pada jadual Nyatakan ON DELETE HAD atau
ON UPDATE RESTRICT
apabila mengekang.
SELECT * FROM child_table WHERE foreign_key_column = [nilai kunci asing];
untuk mengesahkan sama ada pelanggaran telah diselesaikan. 🎜Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat oracle12154. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Kaedah Import Data: 1. Gunakan utiliti SQLLoader: Sediakan fail data, buat fail kawalan, dan jalankan SQLLoader; 2. Gunakan alat IMP/EXP: data eksport, data import. Petua: 1. Disyorkan SQL*loader untuk set data besar; 2. Jadual sasaran harus wujud dan perlawanan definisi lajur; 3. Selepas mengimport, integriti data perlu disahkan.

Mewujudkan Jadual Oracle melibatkan langkah -langkah berikut: Gunakan sintaks Create Table untuk menentukan nama jadual, nama lajur, jenis data, kekangan, dan nilai lalai. Nama jadual harus ringkas dan deskriptif, dan tidak boleh melebihi 30 aksara. Nama lajur hendaklah menjadi deskriptif, dan jenis data menentukan jenis data yang disimpan dalam lajur. Kekangan tidak null memastikan bahawa nilai null tidak dibenarkan dalam lajur, dan klausa lalai menentukan nilai lalai untuk lajur. Kekangan utama utama untuk mengenal pasti rekod unik jadual. Kekangan utama asing menentukan bahawa lajur dalam jadual merujuk kepada kunci utama dalam jadual lain. Lihat penciptaan pelajar jadual sampel, yang mengandungi kunci utama, kekangan unik, dan nilai lalai.

Nyahpasang Kaedah untuk kegagalan pemasangan Oracle: Tutup Perkhidmatan Oracle, Padam Fail Program Oracle dan Kekunci Pendaftaran, Nyahpasang pembolehubah persekitaran Oracle, dan mulakan semula komputer. Jika penyahpasang gagal, anda boleh menyahpasang secara manual menggunakan alat penyahpasang Oracle Universal.

Terdapat tiga cara untuk melihat nama contoh di Oracle: Gunakan "sqlplus" dan "pilih instance_name dari v $ instance;" Perintah pada baris arahan. Gunakan "pertunjukan instance_name;" Perintah dalam SQL*Plus. Semak Pembolehubah Alam Sekitar (ORACLE_SID pada Linux) melalui Pengurus Tugas Sistem Operasi, Pengurus Oracle Enterprise, atau melalui sistem operasi.

Oracle menyediakan pelbagai kaedah pertanyaan deduplikasi: Kata kunci yang berbeza mengembalikan nilai yang unik untuk setiap lajur. Kumpulan oleh klausa mengumpulkan hasil dan mengembalikan nilai tidak berulang bagi setiap kumpulan. Kata kunci yang unik digunakan untuk membuat indeks yang mengandungi hanya baris unik, dan pertanyaan indeks akan secara automatik deduplicate. Fungsi row_number () memberikan nombor unik dan menapis hasil yang mengandungi hanya baris 1. Min () atau max () mengembalikan nilai tidak berulang dari lajur angka. Operator Intersect mengembalikan nilai -nilai bersama kedua -dua set hasil (tiada pendua).

Penyulitan Oracle View membolehkan anda menyulitkan data dalam pandangan, dengan itu meningkatkan keselamatan maklumat sensitif. Langkah -langkah termasuk: 1) mewujudkan kunci penyulitan induk (MEK); 2) mencipta pandangan yang disulitkan, menyatakan pandangan dan MEK untuk disulitkan; 3) Memberi kuasa pengguna untuk mengakses pandangan yang disulitkan. Bagaimana pandangan yang disulitkan berfungsi: Apabila permintaan pengguna untuk paparan yang disulitkan, Oracle menggunakan MEK untuk menyahsulit data, memastikan bahawa hanya pengguna yang diberi kuasa dapat mengakses data yang boleh dibaca.

Terdapat kaedah berikut untuk mendapatkan masa di Oracle: Current_TimeStamp: Mengembalikan masa sistem semasa, tepat untuk beberapa saat. SystimeStamp: Lebih tepat daripada Current_TimeStamp, kepada nanodekonda. SYSDATE: Mengembalikan tarikh sistem semasa, tidak termasuk bahagian masa. To_char (sysdate, 'yyy-mm-dd hh24: mi: ss'): Menukar tarikh dan masa sistem semasa ke format tertentu. Ekstrak: Ekstrak bahagian tertentu dari nilai masa, seperti tahun, bulan, atau jam.
