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 Pforespø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.htmAnbefalede 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