Oracle
 sql >> Baza danych >  >> RDS >> Oracle

jak sprawdzić wszystkie ograniczenia na stole w oracle

Ograniczenia tabeli w Oracle można znaleźć w poniższych widokach
user_constraints
all_constraints
dba_constraints
User_cons_columns
all_cons_columns
dba_cons_columns

Możemy korzystać z widoku zgodnie z dostępem, jaki mamy w bazie danych Oracle. Teraz wyjaśnię, jak sprawdzić wszystkie ograniczenia na stole w Oracle, korzystając z przykładów

Jak znaleźć wszystkie ograniczenia na stole w Oracle

Najpierw utwórzmy tabele

SQL> CREATE TABLE "DEPT" ( "DEPTNO" NUMBER (2,0), "DNAME" VARCHAR2(14), "LOC" VARCHAR2(13), OGRANICZENIE "PK_DEPT" KLUCZ PODSTAWOWY ("DEPTNO") ); Utworzono tabelę. SQL> CREATE TABLE "EMP" ( "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10) Nie null, "JOB" VARCHAR2(9) nie null, "MGR" NUMBER(4,0), "HIREDATE" " DATA, NUMER "SAL" (7,2), NUMER "COMM" (7,2), NUMER "DEPTNO" (2,0), OGRANICZENIE "PK_EMP" KLUCZ PODSTAWOWY ("EMPNO"), OGRANICZENIE "FK_DEPTNO" ZAGRANICZNE KLUCZ („DEPTNO”) ODNIESIENIA „DZIAŁ” („DEPTNO”) WŁĄCZ ); Utworzono tabelę.

Teraz ograniczenia można znaleźć za pomocą poniższych zapytań dotyczących wyboru wyroczni

SQL> kolumna CONSTRAINT_NAME format a20 SQL> kolumna INDEX_NAME format a20 SQL> kolumna CONSTRAINT_TYPE format a5 SQL> kolumna SEARCH_CONDITION format a30 SQL>kolumna R_CONSTRAINT_NAME format a20 wybierz CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition=user_straint_NAMEs „EMP”;

Tutaj CONSTRAINT_TYPE zdefiniuj typ ograniczeń
P oznacza klucz podstawowy Oracle
C oznacza ograniczenia sprawdzające lub nie zerowe
R oznacza ograniczenia klucza obcego
U oznacza ograniczenia klucza unikalnego


Teraz kolumny klucza podstawowego, klucza obcego i unikatowego klucza można znaleźć za pomocą poniższego zapytania

SQL> kolumna OWNER format a10 SQL> kolumna CONSTRAINT_NAME format a120 SQL> kolumna CONSTRAINT_NAME format a20 SQL> kolumna COLUMN_NAME format a20 SQL> wybierz OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION z User_cons_colums gdzie TABLE_NAME='EMP';

Otrzymamy wartości null dla kolumny Position, jeśli mamy jedną kolumnę w ograniczeniu. Jeśli w ograniczeniach występuje wiele kolumn, Pozycja określi kolejność kolumn w ograniczeniu

Podobne zapytania mogą być używane do wybierania ograniczeń w tabeli DEPT

SQL> wybierz CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME z user_constraints, gdzie TABLE_NAME='DEPT';
SQL> wybierz OWNER,CONSTRAINT_NAME ,COLUMN_NAME,POSITION z User_cons_columns gdzie TABLE_NAME='DZIAŁ';

Jak znaleźć ograniczenie według nazwy w Oracle

wybierz CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME z user_constraints, gdzie CONSTRAINT_NAME='&1'lub wybierz właściciela, CONSTRAINT_NAME ,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME='&1', gdzie wszystkie_1 

Jak sprawdzić ograniczenia integralności referencyjnej w tabeli

SQL> wybierz CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE,Search_condition,R_CONSTRAINT_NAME R_NAME z user_constraints, gdzie TABLE_NAME='EMP' i CONSTRAINT_TYPE='R';

Tabela nadrzędna, do której się odwołujemy, może być znaleziona przy użyciu R_CONSTRAINT_NAME

 SQL> wybierz CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE,table_name z user_constraints, gdzie CONSTRAINT_NAME='PK_DEPT';

Jak sprawdzić klucz podstawowy w tabeli

SQL> wybierz CONSTRAINT_NAME C_NAME,INDEX_NAME,CONSTRAINT_TYPE z user_constraints, gdzie TABLE_NAME='EMP' i CONSTRAINT_TYPE='P'; C_NAME INDEX_NAME CONST ---- ------- ----- PK_EMP PK_EMP P

zapytanie, aby znaleźć unikalne ograniczenia na stole w 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 ); Utworzono tabelę. SQL> wybierz CONSTRAINT_NAME,INDEX_NAME,CONSTRAINT_TYPE z user_constraints, gdzie TABLE_NAME='DEPT_MASTER' i CONSTRAINT_TYPE='U';

Inne zapytania dotyczące ograniczeń

wybierz nazwę_tabeli z ograniczeń_użytkownika, gdzie (nazwa_ograniczenia_r) in (wybierz nazwę_ograniczenia z ograniczeń_użytkownika, gdzie nazwa_tabeli ='T' i typ_ograniczenia w ('P', 'U'));

Dzięki temu możemy łatwo znaleźć wszystkie ograniczenia w tabeli w Oracle, korzystając z widoków słownika danych. Następnie możemy podjąć dowolną akcję, taką jak modyfikowanie, wyłączanie, usuwanie, które chcemy przyjąć na te ograniczenia. Ograniczenia wymuszają zasady integralności danych w bazie danych Oracle i musimy zachować ostrożność podczas ich modyfikowania/usuwania.

Mam nadzieję, że podoba Ci się ta treść dotycząca sprawdzania wszystkich ograniczeń tabeli w bazie danych Oracle. Prosimy o przesłanie opinii do tego artykułu.

Też czyta
upuść ograniczenie w Oracle:Możemy usunąć ograniczenie w Oracle za pomocą polecenia alter table. możemy usunąć podstawowy, obcy klucz, sprawdzić, nie zerowe i unikatowe ograniczenie za pomocą tego samego polecenia
Funkcja łączenia w Oracle :funkcja łączenia w Oracle zwróci pierwsze wyrażenie, jeśli nie jest puste, w przeciwnym razie połączy resztę wyrażenia.
Dodatkowe logowanie w Oracle:Dodatkowe logowanie w Oracle to dodatkowe informacje w kolumnie wymagane do rekonstrukcji SQL w celu zastosowania do dowolnej innej bazy danych.
Zapytanie w celu znalezienia zależności obiektów w Oracle:Sprawdź, aby Query znaleźć zależności obiektowe w Oracle, zależność na poziomie dziecka, zależność na poziomie rodzica, znajdowanie za pomocą dbms_utility.get_dependency
JSON w bazie danych Oracle:Sprawdź ten post jak używać JSON w Oracle, jak stworzyć tabelę zawierającą dane JSON, jak aby wyodrębnić, wstaw dane JSON do Oracle
https://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm

Polecane kursy

Oto fajny kurs Udemy dotyczący Oracle SQL
Oracle-Sql-Step-by-step :Ten kurs obejmuje podstawowy SQL, złączenia, tworzenie tabel i modyfikowanie ich struktury, tworzenie widoków, łączenie, łączenie i wiele innych rzeczy . Świetny kurs i obowiązkowy kurs dla początkujących SQL
Pełny kurs certyfikacji Oracle SQL :To dobry kurs dla każdego, kto chce być gotowy do pracy w zakresie umiejętności programistycznych SQL. Fajnie objaśniony kurs
Oracle SQL Developer:Essentials, Tips and Tricks :Narzędzie programistyczne Oracle SQL jest używane przez wielu programistów. Ten kurs zawiera sztuczki i lekcje, jak skutecznie z niego korzystać i zostać produktywnym programistą sql
Oracle SQL Performance Tuning Masterclass 2020 :Dostrajanie wydajności jest jedną z najważniejszych i najbardziej poszukiwanych umiejętności. To dobry kurs, aby się o tym dowiedzieć i zacząć dostrajać wydajność sql


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY / zamieszanie funkcji agregujących w SQL

  2. Jak znaleźć zduplikowane wartości w tabeli w Oracle?

  3. Rekurencja w zapytaniu do bazy danych w celu uzyskania wyniku hierarchicznego za pomocą Hibernate - Java

  4. Proces aktualizacji krok po kroku do wersji R12.2 Aktualizacja, część -3

  5. Polecenia kopii zapasowej RMAN