Ограниченията за таблица в oracle могат да бъдат намерени с помощта на изгледите по-долу
user_constraints
all_constraints
dba_constraints
User_cons_columns
all_cons_columns
dba_cons_columns
Можем да използваме изгледа според достъпа, който имаме в базата данни на Oracle. Сега ще обясня как да проверя всички ограничения на таблица в oracle с помощта на примерите
Как да намеря всички ограничения на таблица в oracle
Нека първо създадем таблиците
SQL> СЪЗДАЙТЕ ТАБЛИЦА "DEPT" ( "DEPTNO" NUMBER(2,0), "DNAME" VARCHAR2(14), "LOC" VARCHAR2(13), ОГРАНИЧЕНИЕ "PK_DEPT" ПЪРВИЧЕН КЛЮЧ ("DEPTNO") ); Таблицата е създадена. SQL> СЪЗДАЙТЕ ТАБЛИЦА "EMP" ( "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10) Не е нула, "JOB" VARCHAR2(9) не е null, "MGR" NUMBER(4,0), "HIREDATE " ДАТА, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), ОГРАНИЧЕНИЕ "PK_EMP" ПРАВИЛЕН КЛЮЧ ("EMPNO"), ОГРАНИЧЕНИЕ "FK_DEPTNO" FOREIGN КЛЮЧ ("DEPTNO") РЕФЕРЕНЦИИ "DEPT" ("DEPTNO") ENABLE ); Таблицата е създадена.
Сега ограниченията могат да бъдат намерени с помощта на заявките за ограничения за избор на оракул по-долу
SQL> col CONSTRAINT_NAME формат a20 SQL> col INDEX_NAME формат a20 SQL> col CONSTRAINT_TYPE формат a5 SQL> колона SEARCH_CONDITION формат a30 SQL>колона R_CONSTRAINT_NAME формат a20 изберете CONSTRAINT_NAME C_NAME,INDEX_NAME,constraint_CONSTRAINT_NAME,CONSTRAINT_NAME,CONSTRAINT_NAME,CONSTRAINT_CONDITION,CONSTRAINT_NAME,CONSTRAINT_CONDITION формат a30 „EMP“;
Тук CONSTRAINT_TYPE дефинирайте типа ограничения
P означава първичен ключ на Oracle
C означава ограничения за проверка или не нулеви ограничения
R означава ограничения на външния ключ
U означава ограничения на уникален ключ
Сега колоните с ограничения за първичен ключ, външен ключ и уникални ключове могат да бъдат намерени с помощта на заявката по-долу
SQL> колона OWNER формат a10 SQL> колона CONSTRAINT_NAME формат a120 SQL> колона CONSTRAINT_NAME формат a20 SQL> колона COLUMN_NAME формат a20 SQL> изберете OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION от User_cons_columns='pre TABLE';Ще получим нулеви стойности за колоната Позиция, ако имаме една колона в ограничението. Ако има множество колони в ограниченията, позиция ще посочи реда на колоната в ограничението
Подобни заявки могат да се използват за избор на ограничения в DEPT Table
SQL> изберете CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME от user_constraints, където TABLE_NAME='DEPT';SQL> изберете OWNER,CONSTRAINT_NAME,COLUMN_NAME,POSITION от User_cons_columns;<, където TDEPTLE_NAME; /предварително>Как да намеря ограничение по име в Oracle
изберете CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME от потребителски_ограничения, където CONSTRAINT_NAME='&1'или изберете собственик, CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME, където CONSTRAINT_NAME='&1'или изберете собственик, CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME,R_CONSTRAINT_NAME>откъдето CONSTRAINT_CONSTRAINT_NAME'R_CONSTRAts от къдетоКак да проверите ограниченията за референтна цялост в таблицата
SQL> изберете CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME от user_constraints, където TABLE_NAME='EMP' и CONSTRAINT_TYPE='R';Таблицата-родител, към която се препраща, може да бъде намерена с помощта на R_CONSTRAINT_NAME
SQL> изберете CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE,table_name от потребителски_ограничения, където CONSTRAINT_NAME='PK_DEPT';Как да проверя първичния ключ в таблицата
SQL> изберете CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE от user_constraints, където TABLE_NAME='EMP' и CONSTRAINT_TYPE='P'; C_NAME INDEX_NAME CONST ---- ------- ----- PK_EMP PK_EMP Pзаявка за намиране на уникални ограничения за таблица в oracle
SQL> СЪЗДАВАНЕ НА ТАБЛИЦА DEPT_MASTER ( dept_nr НОМЕР УНИКАЛЕН, dept_name varchar2(100) НЕ NULL, dept_status NUMBER(1,0) NOT NULL, created_at date ); Таблицата е създадена. SQL> изберете CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE от user_constraints, където TABLE_NAME='DEPT_MASTER' и CONSTRAINT_TYPE='U';Други заявки за ограничения
изберете table_name от user_constraints where (r_constraint_name) in ( изберете constraint_name от user_constraints, където table_name ='T' и constraint_type in ('P', 'U') );Така че можем лесно да намерим всички ограничения на таблицата в oracle, използвайки изгледи на речника на данни. След това можем да предприемем каквото и да е действие като модифициране, деактивиране, пускане, искаме да поемем тези ограничения. Ограниченията налагат правилата за целостта на данните в базата данни на Oracle и трябва да внимаваме, докато ги променяме/изпускаме.
Надявам се да ви хареса това съдържание за това как да проверите всички ограничения на таблица в база данни на Oracle. Моля, дайте обратна връзка за тази статия.
Също чете
отпуснете ограничението в Oracle :Можем да премахнем ограничението в oracle, като използваме команда alter table. можем да пуснем първичен, външен ключ, проверка, а не null и уникално ограничение със същата команда
Функция Coalesce в Oracle :Функцията Coalesce в oracle ще върне първия израз, ако не е null, иначе ще направи обединяването на останалите на израза.
Допълнително регистриране в Oracle:Допълнително регистриране в Oracle е допълнителната информация за колони, необходима за реконструкция на SQL, за да се приложи към всяка друга база данни
Запитване за намиране на зависимости на обекти в oracle:Разгледайте за Query, за да намерите зависимости на обект в oracle, зависимост на ниво дете, зависимост на ниво родител, намиране с помощта на dbms_utility.get_dependency
JSON в базата данни на Oracle:Вижте тази публикация за това как да използвате JSON в oracle, как да създадете таблица, съдържаща JSON данни, как за да извлечете, вмъкнете JSON данните в oracle
https://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htmПрепоръчани курсове
Ето хубавия курс на Udemy за Oracle SQL
Oracle-Sql-Step-by-step :Този курс обхваща основния sql, присъединяването, Създаването на таблици и промяната на структурата им, Създаване на изглед, Обединение, Обединение - всичко и много други неща . Страхотен курс и задължителен курс за SQL начинаещи
Пълният курс за сертифициране на Oracle SQL :Това е добър курс за всеки, който иска да бъде готов за работа за SQL разработчици. Приятно обяснен курс
Oracle SQL Developer:Основни неща, съвети и трикове :Инструментът за разработчици на Oracle Sql се използва от много разработчици. Този курс ни дава трикове и уроци как да го използваме ефективно и да станем продуктивен sql разработчик
Мастърклас за настройка на производителността на Oracle 2020 г. :Настройката на производителността е едно от критичните и най-търсените умения. Това е добър курс, за да научите за него и да започнете да правите настройка на производителността на sql