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

Oracle najít omezení

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

Stejně jako všechna zobrazení datového slovníku je toto zobrazení USER_CONSTRAINTS, pokud chcete pouze zkontrolovat aktuální schéma, a zobrazení DBA_CONSTRAINTS pro uživatele s administrací.

Konstrukce názvu omezení označuje systémem generovaný název omezení. Pokud například v deklaraci tabulky zadáme NOT NULL. Nebo skutečně primární nebo jedinečný klíč. Například:

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' pro kontrolu 'P' pro primární.

Obecně je dobré dát relačním omezením explicitní název. Pokud například databáze vytvoří index pro primární klíč (což udělá, pokud tento sloupec ještě není indexován), použije název omezení oo název indexu. Nechcete databázi plnou indexů pojmenovaných jako SYS_C00935191 .

Abych byl upřímný, většina lidí se neobtěžuje pojmenovávat omezení NOT NULL.



  1. Jak exportovat tabulku jako CSV s nadpisy na Postgresql?

  2. Vývoj odolnosti vůči chybám v PostgreSQL:Replikační fáze

  3. Chyba:Sloupec neexistuje

  4. Příklady JSON_MODIFY() v SQL Server (T-SQL)