sql >> Databasteknik >  >> RDS >> Oracle

Hur man hittar namnet på en begränsning i Oracle

Problem:

Du vill hitta namnen på begränsningarna i en tabell i Oracle.

Exempel:

Vi vill visa namnen på begränsningarna i tabellen student .

Lösning:

select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME
from USER_CONSTRAINTS
where TABLE_NAME='STUDENT';

Här är resultatet:

CONSTRAINT_NAME CONSTRAINT_TYPE TABLE_NAME
SYS_C007376 R STUDENT
SYS_C007374 P STUDENT
SYS_C007375 U STUDENT
SYS_C007372 C STUDENT

Diskussion:

I Oracle använder du vyn user_constraints för att visa namnen på begränsningarna i databasen. Kolumnen constraint_name innehåller namnet på begränsningen, constraint_type anger typen av begränsning och table_name innehåller namnet på tabellen som begränsningen tillhör. I kolumnen constraint_type är värdet "R" för den främmande nyckeln, "P" är för primärnyckeln, "U" är för unikhetsbegränsningen och "C" är för begränsningskontrollen. I vårt exempel finns det en begränsning i tabellen student av typen P (primärnyckel) vars namn är SYS_C007374 .


  1. Bättre samtidighet i Oracle än SQL Server?

  2. 4 sätt att söka efter dubbletter av rader i SQL Server

  3. java.lang.OutOfMemoryError:[minnet är slut] vid läsning av data från Sqlite Android

  4. ENUM (Enumeration) Datatyp i MySQL:Topp 12 fakta och användbara tips