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

cara memeriksa semua kendala pada tabel di oracle

Batasan pada tabel di oracle dapat ditemukan menggunakan tampilan di bawah ini
user_constraints
all_constraints
dba_constraints
User_cons_columns
all_cons_columns
dba_cons_columns

Kita dapat menggunakan tampilan sesuai dengan akses yang kita miliki di database Oracle. Sekarang saya akan menjelaskan cara memeriksa semua batasan pada tabel di oracle menggunakan contoh

Cara menemukan semua batasan pada tabel di Oracle

Mari kita buat Tabelnya dulu

SQL> CREATE TABLE "DEPT" ( "DEPTNO" NUMBER(2,0), "DNAME" VARCHAR2(14), "LOC" VARCHAR2(13), CONSTRAINT "PK_DEPT" PRIMARY KEY ("DEPTNO") ); Tabel dibuat. SQL> CREATE TABLE "EMP" ("EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10) Bukan null, "JOB" VARCHAR2(9) bukan null, "MGR" NUMBER(4,0), "HIREDATE " TANGGAL, "SAL" NOMOR(7,2), "COMM" NOMOR(7,2), "DEPTNO" NOMOR(2,0), CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO"), CONSTRAINT "FK_DEPTNO" ASING REFERENSI KEY ("DEPTNO") "DEPT" ("DEPTNO") AKTIFKAN ); Tabel dibuat.

Sekarang batasan dapat ditemukan menggunakan kueri batasan pilih Oracle di bawah ini

SQL> col CONSTRAINT_NAME format a20 SQL> col INDEX_NAME format a20 SQL> col CONSTRAINT_TYPE format a5 SQL> kolom SEARCH_CONDITION format a30 SQL>kolom R_CONSTRAINT_NAME format a20 pilih CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE_constraint_TYPE_R_CONSTRAINT_NAME format a20 pilih CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE_CONSTRAINT_TYPE_Rcon=Search_condition, 'EMP';

Di sini CONSTRAINT_TYPE menentukan jenis kendala
P adalah singkatan dari Oracle Primary Key
C adalah singkatan dari periksa kendala atau tidak nol kendala
R adalah singkatan dari Asing Kendala
U singkatan dari Kunci Unik kendala


Sekarang kolom Primary key, Foreign Key, dan Unique key constraint dapat ditemukan menggunakan query di bawah ini

SQL> kolom OWNER format a10 SQL> kolom CONSTRAINT_NAME format a120 SQL> kolom CONSTRAINT_NAME format a20 SQL> kolom COLUMN_NAME format a20 SQL> pilih OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION dari User_cons_columns di mana TABLE_NAME='EMP';

Kami akan mendapatkan nilai nol untuk kolom Posisi jika kami memiliki satu kolom dalam batasan. Jika ada beberapa kolom yang ada dalam batasan, Posisi akan menentukan urutan kolom dalam batasan

Kueri serupa dapat digunakan untuk memilih batasan pada Tabel DEPT

SQL> pilih CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME dari user_constraints di mana TABLE_NAME='DEPT';
SQL> pilih OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION dari User_cons_columns di mana TABLE_NAME='DEPT';  

Cara menemukan batasan berdasarkan nama di Oracle

pilih CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME dari user_constraints di mana CONSTRAINT_NAME='&1'atau pilih pemilik, CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME'prepreint_NAME dari semua&contraint_CONSTRAINT_NAMEpre. 

Cara memeriksa batasan integritas Referensial dalam tabel

SQL> pilih CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME dari user_constraints di mana TABLE_NAME='EMP' dan CONSTRAINT_TYPE='R';

Tabel induk yang direferensikan dapat ditemukan menggunakan R_CONSTRAINT_NAME

 SQL> pilih CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE,table_name dari user_constraints di mana CONSTRAINT_NAME='PK_DEPT';

Cara memeriksa kunci utama dalam tabel

SQL> pilih CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE dari user_constraints di mana TABLE_NAME='EMP' dan CONSTRAINT_TYPE='P'; C_NAME INDEX_NAME CONST ---- ------- ----- PK_EMP PK_EMP P

kueri untuk menemukan batasan unik pada tabel di Oracle

SQL> CREATE TABLE DEPT_MASTER ( dept_nr NOMOR UNIK, dept_name varchar2(100) NOT NULL, dept_status NUMBER(1,0) NOT NULL, create_at date ); Tabel dibuat. SQL> pilih CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE dari user_constraints di mana TABLE_NAME='DEPT_MASTER' dan CONSTRAINT_TYPE='U';

Permintaan Lain untuk Batasan

pilih table_name dari user_constraints di mana (r_constraint_name) di ( pilih constraint_name dari user_constraints di mana table_name ='T' dan constraint_type di ( 'P', 'U' ) );

Jadi, kita dapat dengan mudah menemukan semua batasan pada tabel di oracle menggunakan tampilan kamus data. Kami kemudian dapat mengambil tindakan apa pun seperti memodifikasi, menonaktifkan, menjatuhkan, kami ingin mengambil batasan ini. Kendala memberlakukan aturan integritas data di database oracle dan kita harus berhati-hati saat memodifikasi/menjatuhkannya.

Saya harap Anda menyukai konten ini tentang cara memeriksa semua batasan pada tabel di database Oracle. Mohon berikan masukan untuk artikel ini.

Juga Dibaca
jatuhkan batasan di Oracle :Kita bisa menghilangkan batasan di Oracle menggunakan perintah alter table. kita dapat menghapus batasan utama, kunci asing, centang, bukan nol dan unik dengan perintah yang sama
Fungsi Penggabungan di Oracle :Fungsi penggabungan di oracle akan mengembalikan ekspresi pertama jika bukan nol selain itu akan melakukan penggabungan sisanya dari ekspresi.
Pencatatan Tambahan di Oracle:Pencatatan Tambahan di Oracle adalah informasi kolom tambahan yang diperlukan untuk merekonstruksi SQL untuk diterapkan ke database lain
Kueri untuk menemukan dependensi objek di Oracle:Periksa Kueri untuk menemukan ketergantungan objek di Oracle, ketergantungan tingkat anak, ketergantungan tingkat induk, menemukan menggunakan dbms_utility.get_dependency
JSON di database Oracle:Lihat posting ini tentang cara menggunakan JSON di Oracle, cara membuat tabel yang berisi data JSON, caranya untuk mengekstrak, masukkan data JSON di oracle
https://docs.Oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm

Kursus yang Direkomendasikan

Berikut adalah Kursus Udemy yang bagus untuk Oracle SQL
Oracle-Sql-Step-by-step :Kursus ini mencakup sql dasar, bergabung, Membuat Tabel dan memodifikasi strukturnya, Membuat Tampilan, Union, Union -semua dan banyak hal lainnya . Kursus yang bagus dan kursus yang harus dimiliki untuk pemula SQL
Kursus Lengkap Sertifikasi Oracle SQL :Ini adalah kursus yang bagus untuk siapa saja yang ingin siap kerja untuk keterampilan pengembang SQL. Kursus yang dijelaskan dengan baik
Pengembang Oracle SQL:Esensi, Kiat, dan Trik :Alat pengembang Oracle Sql sedang digunakan oleh banyak pengembang. Kursus ini memberi kita trik dan pelajaran tentang cara menggunakannya secara efektif dan menjadi pengembang sql yang produktif
Oracle SQL Performance Tuning Masterclass 2020 :Penyetelan kinerja adalah salah satu keterampilan yang penting dan paling dicari. Ini adalah kursus yang bagus untuk mempelajarinya dan mulai melakukan penyetelan kinerja sql


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Mendapatkan Nilai ASCII di Oracle?

  2. Memasukkan beberapa baris ke Oracle

  3. Putar di Oracle 10g

  4. SQL, Saat menghapus kaskade dan saat memperbarui kaskade

  5. Cara mengirim email menggunakan Oracle 10 g Forms