sql >> Databáze >  >> RDS >> Oracle

jak zkontrolovat všechna omezení na stole v oracle

Omezení v tabulce v oracle lze nalézt pomocí níže uvedených zobrazení
user_constraints
all_constraints
dba_constraints
User_cons_columns
all_cons_columns
dba_cons_columns

Pohled můžeme použít podle přístupu, který máme v databázi Oracle. Nyní vysvětlím, jak zkontrolovat všechna omezení na tabulce v oracle pomocí příkladů

Jak najít všechna omezení na stole v oracle

Nejprve vytvořte tabulky

SQL> CREATE TABLE "DEPT" ( "DEPTNO" NUMBER(2,0), "DNAME" VARCHAR2(14), "LOC" VARCHAR2(13), CONSTRAINT "PK_DEPT" PRIMÁRNÍ KLÍČ ("DEPTNO")); Tabulka vytvořena. SQL> CREATE TABLE "EMP" ( "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10) Není null, "JOB" VARCHAR2(9) není null, "MGR" NUMBER(4,0), "HIREDATE " DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), OMEZENÍ "PK_EMP" PRIMÁRNÍ KLÍČ ("EMPNO"), OMEZENÍ "FK_DEPTNO" ZAHRANIČNÍ KLÍČOVÉ ("DEPTNO") REFERENCE "ODDĚLENÍ" ("DEPTNO") POVOLIT ); Tabulka vytvořena.

Nyní lze omezení nalézt pomocí níže uvedených dotazů na výběr omezení oracle

SQL> sloupec CONSTRAINT_NAME formát a20 SQL> sloupec INDEX_NAME formát a20 SQL> sloupec CONSTRAINT_TYPE formát a5 SQL> sloupec SEARCH_CONDITION formát a30 SQL>sloupec R_CONSTRAINT_NAME formát a20 vybrat CONSTRAINT_NAME C_NAME, INDEX_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME uživatel RTAcon_condition, kde RTAconstraint_condition,RBLE 'EMP';

Zde CONSTRAINT_TYPE definujte typ omezení
P znamená Oracle Primary Key
C znamená kontrolní omezení nebo nenulová omezení
R znamená omezení cizího klíče
U znamená omezení jedinečného klíče


Nyní lze pomocí níže uvedeného dotazu najít sloupce Primární klíč, Cizí klíč a Jedinečný klíč.

SQL> sloupec OWNER formát a10 SQL> sloupec CONSTRAINT_NAME formát a120 SQL> sloupec CONSTRAINT_NAME formát a20 SQL> sloupec COLUMN_NAME formát a20 SQL> vyberte OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION z User_cons_columns kde TABLE_NAME='EMP';  

Pokud máme ve vazbě jeden sloupec, získáme hodnoty null pro sloupec Pozice. Pokud je v omezeních více sloupců, pozice určí pořadí sloupce v omezení

Podobné dotazy lze použít pro výběr omezení v tabulce DEPT

SQL> vyberte CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME z user_constraints, kde TABLE_NAME='DEPT';
SQL> vyberte OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION z User_cons_columns kde TABLE'_NAME';=/před>  

Jak najít omezení podle názvu v Oracle

vyberte CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME z user_constraints, kde CONSTRAINT_NAME='&1'nebo vyberte vlastníka, CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME'&straints kde CONSTRAINT_NAME'&straints kde all_constraints'&1' 

Jak zkontrolovat omezení referenční integrity v tabulce

SQL> vyberte CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME z user_constraints, kde TABLE_NAME='EMP' a CONSTRAINT_TYPE='R';

Nadřazenou tabulku, na kterou se odkazuje, lze nalézt pomocí R_CONSTRAINT_NAME

 SQL> vyberte CONSTRAINT_NAME, INDEX_NAME, CONSTRAINT_TYPE, název_tabulky z user_constraints, kde CONSTRAINT_NAME='PK_DEPT';

Jak zkontrolovat primární klíč v tabulce

SQL> vyberte CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE z user_constraints, kde TABLE_NAME='EMP' a CONSTRAINT_TYPE='P'; C_NAME INDEX_NAME CONST ---- ------- ----- PK_EMP PK_EMP P

dotaz k nalezení jedinečných omezení v tabulce v 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 ); Tabulka vytvořena. SQL> vyberte CONSTRAINT_NAME, INDEX_NAME, CONSTRAINT_TYPE z user_constraints, kde TABLE_NAME='DEPT_MASTER' a CONSTRAINT_TYPE='U';

Další dotazy na omezení

vyberte název_tabulky z user_constraints where (r_constraint_name) in ( select constraint_name z user_constraints where table_name ='T' a constraint_type in ( 'P', 'U'));

Takže můžeme snadno najít všechna omezení v tabulce v oracle pomocí zobrazení datového slovníku. Pak můžeme provést jakoukoli akci, jako je úprava, zakázání, zrušení, kterou chceme přijmout na tato omezení. Omezení vynucují pravidla integrity dat v databázi oracle a při jejich úpravách/vypouštění musíme být opatrní.

Doufám, že se vám líbí tento obsah o tom, jak zkontrolovat všechna omezení na tabulce v databázi Oracle. Uveďte prosím zpětnou vazbu k tomuto článku.

Také čte
zrušte omezení v Oracle:Omezení můžeme zrušit v oracle pomocí příkazu alter table. můžeme zrušit primární, cizí klíč, kontrolu, nenulové a jedinečné omezení pomocí stejného příkazu
Funkce sloučení v Oracle :Funkce sloučení v oracle vrátí první výraz, pokud není null, jinak splyne zbytek výrazu.
Doplňkové protokolování v Oracle:Doplňkové protokolování v Oracle je další sloupcová informace požadovaná pro rekonstrukci SQL pro použití v jakékoli jiné databázi
Dotaz k nalezení závislostí objektů v oracle:Podívejte se na Query, kde najdete závislosti objektů v oracle, závislost na podřízené úrovni, závislost na rodičovské úrovni, hledání pomocí dbms_utility.get_dependency
JSON v databázi Oracle:Podívejte se na tento příspěvek o tom, jak používat JSON v oracle, jak vytvořit tabulku obsahující data JSON, jak pro extrahování vložte data JSON do oracle
https://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm

Doporučené kurzy

Zde je pěkný kurz Udemy pro Oracle SQL
Oracle-Sql-krok za krokem:Tento kurz pokrývá základní sql, spojení, vytváření tabulek a úpravu jejich struktury, vytváření zobrazení, sjednocení, sjednocení – vše a mnoho dalších věcí. . Skvělý kurz a kurz, který musíte mít pro začátečníky SQL
Úplný certifikační kurz Oracle SQL :Toto je dobrý kurz pro každého, kdo chce být Job připravený na vývojářské dovednosti SQL. Pěkně vysvětlený kurz
Oracle SQL Developer:Základy, tipy a triky :Vývojářský nástroj Oracle Sql používá mnoho vývojářů. Tento kurz nám poskytuje triky a lekce, jak jej efektivně používat a stát se produktivním vývojářem sql
Oracle SQL Performance Tuning Masterclass 2020 :Ladění výkonu je jednou z kritických a nejvyhledávanějších dovedností. Toto je dobrý kurz, jak se o tom dozvědět a začít s laděním výkonu SQL


  1. Používejte MySQL relační databáze na CentOS 5

  2. SQL INSERT INTO… SELECT Příklady

  3. Automatické zvýšení pro Oracle

  4. Jak zkontrolovat uživatelská oprávnění v MySQL Workbench pomocí GUI