sql >> Database teknologi >  >> RDS >> Oracle

hvordan man tjekker alle begrænsninger på et bord i oracle

Begrænsninger på en tabel i Oracle kan findes ved hjælp af nedenstående visninger
user_constraints
all_constraints
dba_constraints
User_cons_columns
all_cons_columns
dba_cons_columns

Vi kan bruge visningen i henhold til den adgang, vi har i Oracle-databasen. Nu skal jeg forklare, hvordan man kontrollerer alle begrænsninger på en tabel i Oracle ved hjælp af eksemplerne

Sådan finder du alle begrænsninger på en tabel i Oracle

Lad os først oprette tabellerne

SQL> OPRET TABEL "DEPT" ( "DEPTNO" NUMMER(2,0), "DNAME" VARCHAR2(14), "LOC" VARCHAR2(13), CONSTRAINT "PK_DEPT" PRIMÆR NØGLE ("DEPTNO") ); Tabellen er oprettet. SQL> CREATE TABLE "EMP" ( "EMPNO" NUMMER(4,0), "ENAME" VARCHAR2(10) Ikke null, "JOB" VARCHAR2(9) ikke null, "MGR" NUMMER(4,0), "UDLEJNING " DATE, "SAL" NUMMER(7,2), "COMM" NUMMER(7,2), "DEPTNO" NUMMER(2,0), CONSTRAINT "PK_EMP" PRIMÆR NØGLE ("EMPNO"), BEGRÆNSNING "FK_DEPTNO" UDENLANDSKE NØGLE ("DEPTNO") REFERENCER "DEPT" ("DEPTNO") ENABLE ); Tabellen er oprettet.

Nu kan begrænsninger findes ved at bruge nedenstående oracle select constraint-forespørgsler

SQL> col CONSTRAINT_NAME format a20 SQL> col INDEX_NAME format a20 SQL> col CONSTRAINT_TYPE format a5 SQL> kolonne SEARCH_CONDITION format a30 SQL>column R_CONSTRAINT_NAME format a20 vælg CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,CONSTRAINT_TYPE_NAME_search_condition='EMP';

Her definerer CONSTRAINT_TYPE typen af ​​begrænsninger
P står for Oracle Primary Key
C står for check constraints eller ikke null constraints
R står for Foreign Key constraints
U står for Unique Key constraints


Nu kan kolonnerne Primærnøgle, Fremmednøgle og Unikke nøglebegrænsninger findes ved at bruge nedenstående forespørgsel

SQL> kolonne OWNER format a10 SQL> kolonne CONSTRAINT_NAME format a120 SQL> kolonne CONSTRAINT_NAME format a20 SQL> kolonne COLUMN_NAME format a20 SQL> vælg OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION fra User_cons_columns hvor TABLE_NAME='EMP'  

Vi får null-værdier for kolonnen Position, hvis vi har en enkelt kolonne i begrænsningen. Hvis der er flere kolonner til stede i begrænsningerne, vil Position angive rækkefølgen af ​​kolonnen i begrænsningen

Lignende forespørgsler kan bruges til at vælge begrænsninger på DEPT-tabellen

SQL> vælg CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME fra user_constraints hvor TABLE_NAME='DEPT';
SQL> vælg OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION fra User_cons_NAME'='DEBLE_NAME' /pre>  

Sådan finder du begrænsninger ved navn i Oracle

vælg CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME fra user_constraints hvor CONSTRAINT_NAME='&1'ellervælg ejer, CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME fra alle CONSTRAINT_NAME R_NAME' 

Sådan kontrolleres referenceintegritetsbegrænsningerne i tabellen

SQL> vælg CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME fra user_constraints hvor TABLE_NAME='EMP' og CONSTRAINT_TYPE='R';

Den overordnede tabel, der refereres til, kan findes ved hjælp af R_CONSTRAINT_NAME

 SQL> vælg CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE,tabelnavn fra user_constraints hvor CONSTRAINT_NAME='PK_DEPT';

Sådan kontrollerer du den primære nøgle i tabellen

SQL> vælg CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE fra user_constraints hvor TABLE_NAME='EMP' og CONSTRAINT_TYPE='P'; C_NAME INDEX_NAME CONST ---- ------- ----- PK_EMP PK_EMP P

forespørgsel for at finde unikke begrænsninger på en tabel i oracle

SQL> CREATE TABLE DEPT_MASTER ( dept_nr NUMBER UNIQUE, dept_name varchar2(100) NOT NULL, dept_status NUMBER(1,0) NOT NULL, created_at date ); Tabellen er oprettet. SQL> vælg CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE fra user_constraints hvor TABLE_NAME='DEPT_MASTER' og CONSTRAINT_TYPE='U';

Andre forespørgsler om begrænsninger

vælg tabelnavn fra user_constraints hvor (r_constraint_name) i (vælg constraint_name fra user_constraints hvor tabelnavn ='T' og constraint_type in ( 'P', 'U') );

Så vi kan nemt finde alle begrænsningerne på bordet i oracle ved hjælp af dataordbogsvisninger. Vi kan derefter tage en hvilken som helst handling som at ændre, deaktivere, slippe, vi ønsker at påtage os disse begrænsninger. Begrænsninger håndhæver regler for dataintegritet i Oracle-databasen, og vi skal være forsigtige, når vi ændrer/sletter dem.

Jeg håber, du kan lide dette indhold om, hvordan man kontrollerer alle begrænsninger på en tabel i en oracle-database. Giv venligst feedback til denne artikel.

Læser også
slip begrænsning i Oracle:Vi kan droppe begrænsningen i Oracle ved at bruge alter table-kommandoen. vi kan droppe primær, fremmednøgle, check, ikke null og unik begrænsning med samme kommando
Koalesceringsfunktion i Oracle:Koalesceringsfunktion i Oracle returnerer det første udtryk, hvis det ikke er null, ellers vil det gøre resten af udtrykket.
Supplerende logning i Oracle:Supplerende logning i Oracle er den yderligere kolonneinformation, der kræves for at rekonstruere SQL til at gælde for enhver anden database
Forespørgsel for at finde objektafhængigheder i Oracle:Tjek ud for at finde forespørgsel objektafhængigheder i Oracle, afhængighed på børneniveau, afhængighed på overordnet niveau, at finde ved hjælp af dbms_utility.get_dependency
JSON i Oracle-database:Tjek dette indlæg om, hvordan du bruger JSON i Oracle, hvordan du opretter en tabel, der indeholder JSON-data, hvordan for at udtrække skal du indsætte JSON-dataene i oracle
https://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm

Anbefalede kurser

Her er det fine Udemy-kursus til Oracle SQL
Oracle-Sql-trin-for-trin :Dette kursus dækker grundlæggende sql, joins, oprettelse af tabeller og ændring af strukturen, Create View, Union, Union -alle og meget andet. . Et godt kursus og must-have kursus for SQL starter
The Complete Oracle SQL Certification Course :Dette er et godt kursus for enhver, der ønsker at være jobklar til SQL-udviklerfærdigheder. Et godt forklaret kursus
Oracle SQL Developer:Essentials, Tips and Tricks :Oracle Sql-udviklerværktøj bliver brugt af mange udviklere. Dette kursus giver os tricks og lektioner til, hvordan man effektivt bruger det og bliver en produktiv sql-udvikler
Oracle SQL Performance Tuning Masterclass 2020 :Ydeevnejustering er en af ​​de kritiske og mest søgte færdigheder. Dette er et godt kursus for at lære om det og begynde at lave sql-ydelsesjustering


  1. Opdater SQL Server-statistikker ved hjælp af en databasevedligeholdelsesplan

  2. Rediger tabelrækker/registreringer i SQL Server Management Studio ( SSMS) - SQL Server vejledning / TSQL vejledning del 18

  3. java.lang.ClassNotFoundException:org.postgresql.Driver, Android

  4. Filtrering efter OFFSET-FETCH-indstillinger i Vælg forespørgsel - SQL Server / TSQL vejledning del 118