Begränsningar på en tabell i Oracle kan hittas med hjälp av nedanstående vyer
user_constraints
all_constraints
dba_constraints
User_cons_columns
all_cons_columns
dba_cons_columns
Vi kan använda vyn enligt den åtkomst vi har i Oracle-databasen. Nu ska jag förklara hur man kontrollerar alla begränsningar på en tabell i Oracle med hjälp av exemplen
Hur man hittar alla begränsningar på en tabell i Oracle
Låt oss först skapa tabellerna
SQL> SKAPA TABELL "DEPT" ( "DEPTNO" NUMMER(2,0), "DNAME" VARCHAR2(14), "LOC" VARCHAR2(13), CONSTRAINT "PK_DEPT" PRIMÄRNYCKEL ("DEPTNO") ); Tabell skapad. SQL> SKAPA TABELL "EMP" ( "EMPNO" NUMMER(4,0), "ENAME" VARCHAR2(10) Inte null, "JOBB" VARCHAR2(9) inte null, "MGR" NUMMER(4,0), "HIREDATE " DATE, "SAL" NUMMER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), CONSTRAINT "PK_EMP" PRIMÄRNYCKEL ("EMPNO"), CONSTRAINT "FK_DEPTNO" UTLÄNDSK KEY ("DEPTNO") REFERENSER "DEPT" ("DEPTNO") ENABLE ); Tabell skapad.
Nu kan begränsningar hittas med hjälp av Oracle Select Constraint-frågorna nedan
SQL> kol CONSTRAINT_NAME format a20 SQL> kol. INDEX_NAME format a20 SQL> kol CONSTRAINT_TYPE format a5 SQL> kolumn SEARCH_CONDITION format a30 SQL>kolumn R_CONSTRAINT_NAME format a20 välj CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,CONSTRAINT_TYPE_Search_NAME=användarvillkor TABLE_Search_NAME 'EMP';
Här definierar CONSTRAINT_TYPE typen av begränsningar
P står för Oracle Primary Key
C står för check constraints or not null constraints
R står för Foreign Key constraints
U står för Unique Key constraints
Nu kan kolumnerna Primärnyckel, Främmande nyckel och Unika nyckelbegränsningar hittas med hjälp av frågan nedan
SQL> kolumn OWNER format a10 SQL> kolumn CONSTRAINT_NAME format a120 SQL> kolumn CONSTRAINT_NAME format a20 SQL> kolumn COLUMN_NAME format a20 SQL> välj OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION från User_cons_columns där TABLE_NAME='EMP';
Vi kommer att få nollvärden för kolumnen Position om vi har en enda kolumn i begränsningen. Om det finns flera kolumner i begränsningarna kommer Position att ange ordningen på kolumnen i begränsningen
Liknande frågor kan användas för att välja begränsningar på DEPT-tabellen
SQL> välj CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME från user_constraints där TABLE_NAME='DEPT';
SQL> välj OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION från User_cons_NAME'='DEBLE_NAME' /pre>Hur man hittar begränsningar efter namn i Oracle
välj CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME från user_constraints där CONSTRAINT_NAME='&1'ellervälj ägare, CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME villkor'R_NAME=där CONSTRAINT_NAME R_NAME> från alla CONSTRAINT_NAME R_NAME'Hur man kontrollerar referensintegritetsbegränsningarna i tabellen
SQL> välj CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME från user_constraints där TABLE_NAME='EMP' och CONSTRAINT_TYPE='R';Den överordnade tabellen som refereras till kan hittas med R_CONSTRAINT_NAME
SQL> välj CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE,tabellnamn från user_constraints där CONSTRAINT_NAME='PK_DEPT';Hur man kontrollerar primärnyckeln i tabellen
SQL> välj CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE från user_constraints där TABLE_NAME='EMP' och CONSTRAINT_TYPE='P'; C_NAME INDEX_NAME CONST ---- ------- ----- PK_EMP PK_EMP Pfråga för att hitta unika begränsningar på en tabell 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 ); Tabell skapad. SQL> välj CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE från user_constraints där TABLE_NAME='DEPT_MASTER' och CONSTRAINT_TYPE='U';Andra frågor om begränsningar
välj tabellnamn från user_constraints där (r_constraint_name) i (välj constraint_name från user_constraints där tabellnamn ='T' och constraint_typ in ( 'P', 'U') );Så vi kan enkelt hitta alla begränsningar på bordet i Oracle med hjälp av dataordbokvyer. Vi kan sedan vidta vilken åtgärd som helst som modifiera, inaktivera, släppa, vi vill ta på oss dessa begränsningar. Restriktioner upprätthåller dataintegritetsregler i Oracle-databasen och vi måste vara försiktiga när vi ändrar/släpper dem.
Jag hoppas att du gillar det här innehållet om hur man kontrollerar alla begränsningar på en tabell i en orakeldatabas. Lämna gärna feedback om den här artikeln.
Läser också
släpp begränsning i Oracle :Vi kan släppa begränsningen i Oracle med hjälp av kommandot alter table. vi kan släppa primär, främmande nyckel, check, inte null och unik restriktion med samma kommando
Coalesce-funktion i Oracle:Coalesce-funktionen i oracle kommer att returnera det första uttrycket om det inte är null, annars kommer det att göra resten av uttrycket.
Supplerande inloggning i Oracle:Kompletterande inloggning i Oracle är den ytterligare kolumninformation som krävs för att rekonstruera SQL för att tillämpas på vilken annan databas som helst
Fråga för att hitta objektberoende i Oracle:Kolla in för Query för att hitta objektberoende i Oracle, beroende på underordnad nivå, beroende på föräldranivå, hitta med dbms_utility.get_dependency
JSON i Oracle-databas:Kolla in det här inlägget om hur man använder JSON i Oracle, hur man skapar en tabell som innehåller JSON-data, hur för att extrahera, infoga JSON-data i oracle
https://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htmRekommenderade kurser
Här är den trevliga Udemy-kursen för Oracle SQL
Oracle-Sql-Steg-för-steg :Den här kursen täcker grundläggande sql, går med, skapar tabeller och ändrar dess struktur, Skapa vy, Union, Union -allt och mycket annat . En bra kurs och måste-kurs för SQL-startare
The Complete Oracle SQL Certification Course :Det här är en bra kurs för alla som vill vara redo för SQL-utvecklare. En trevlig förklarad kurs
Oracle SQL Developer:Essentials, Tips and Tricks :Oracle Sql-utvecklarverktyget används av många utvecklare. Den här kursen ger oss tricks och lektioner om hur man effektivt använder den och blir en produktiv SQL-utvecklare
Oracle SQL Performance Tuning Masterclass 2020 :Prestandajustering är en av de kritiska och mest eftertraktade färdigheterna. Det här är en bra kurs för att lära dig mer om det och börja göra sql prestandajustering