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

Oracle znajduje ograniczenie

select * from all_constraints
where owner = '<NAME>'
and constraint_name = 'SYS_C00381400'
/

Podobnie jak wszystkie widoki słowników danych, jest to widok USER_CONSTRAINTS, jeśli chcesz tylko sprawdzić bieżący schemat i widok DBA_CONSTRAINTS dla użytkowników administracyjnych.

Konstrukcja nazwy ograniczenia wskazuje nazwę ograniczenia wygenerowaną przez system. Na przykład, jeśli określimy NOT NULL w deklaracji tabeli. Albo rzeczywiście kluczem podstawowym lub unikalnym. Na przykład:

SQL> create table t23 (id number not null primary key)
  2  /

Table created.

SQL> select constraint_name, constraint_type
  2  from user_constraints
  3  where table_name = 'T23'
  4  /

CONSTRAINT_NAME                C
------------------------------ -
SYS_C00935190                  C
SYS_C00935191                  P

SQL>

'C' do czeku, 'P' dla podstawowego.

Ogólnie dobrym pomysłem jest nadanie ograniczeniom relacyjnym wyraźnej nazwy. Na przykład, jeśli baza danych utworzy indeks dla klucza podstawowego (co zrobi, jeśli ta kolumna nie jest już zaindeksowana), użyje nazwy ograniczenia oo nazwa indeksu. Nie chcesz bazy danych pełnej indeksów o nazwie jak SYS_C00935191 .

Szczerze mówiąc większość ludzi nie zawraca sobie głowy nazywaniem ograniczeń NOT NULL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BEGIN - END blokowe transakcje atomowe w PL/SQL

  2. Czy możliwe jest odwoływanie się do nazw kolumn za pomocą zmiennych wiążących w Oracle?

  3. EBS 12.2.5 i nowsze:Niewspółosiowość przycisku strony logowania

  4. Logiczny widok modelu danych w R12.2

  5. Jak upiększyć dane wyjściowe pochodzące z zapytania SELECT w wierszu polecenia?