sql >> Database teknologi >  >> RDS >> Oracle

Oracle finder en begrænsning

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

Som alle dataordbogsvisninger er dette en USER_CONSTRAINTS-visning, hvis du blot vil kontrollere dit nuværende skema og en DBA_CONSTRAINTS-visning for administrationsbrugere.

Konstruktionen af ​​begrænsningsnavnet indikerer et systemgenereret begrænsningsnavn. For eksempel, hvis vi angiver NOT NULL i en tabelerklæring. Eller faktisk en primær eller unik nøgle. For eksempel:

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' for check, 'P' for primært.

Generelt er det en god idé at give relationelle begrænsninger et eksplicit navn. For eksempel, hvis databasen opretter et indeks for den primære nøgle (hvilket den vil gøre, hvis den kolonne ikke allerede er indekseret), vil den bruge begrænsningsnavnet oo navngive indekset. Du vil ikke have en database fuld af indekser med navn som SYS_C00935191 .

For at være ærlig gider de fleste mennesker ikke nævne NOT NULL-begrænsninger.



  1. Strengsammenkædning i MySQL

  2. FEJL 2003 (HY000):Kan ikke oprette forbindelse til MySQL-server på '127.0.0.1' (111)

  3. Hvordan kan jeg ændre størrelsen på kolonnen i en MySQL-tabel?

  4. Skift størrelse på tabel-/kolonne-/indeksnavne i oracle 11g eller 12c