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 Pdotaz 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.htmDoporuč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