sql >> Base de Datos >  >> RDS >> Oracle

Cómo encontrar el nombre de una restricción en Oracle

Problema:

Quiere encontrar los nombres de las restricciones en una tabla en Oracle.

Ejemplo:

Queremos mostrar los nombres de las restricciones en la tabla student .

Solución:

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

Aquí está el resultado:

CONSTRAINT_NAME CONSTRAINT_TYPE NOMBRE_TABLA
SYS_C007376 R ESTUDIANTE
SYS_C007374 P ESTUDIANTE
SYS_C007375 T ESTUDIANTE
SYS_C007372 C ESTUDIANTE

Discusión:

En Oracle, use la vista user_constraints para mostrar los nombres de las restricciones en la base de datos. La columna constraint_name contiene el nombre de la restricción, constraint_type indica el tipo de restricción y table_name contiene el nombre de la tabla a la que pertenece la restricción. En la columna tipo_restricción, el valor "R" es para la clave externa, "P" es para la clave principal, "U" es para la restricción de unicidad y "C" es para la verificación de la restricción. En nuestro ejemplo, hay una restricción en la tabla student del tipo P (clave primaria) cuyo nombre es SYS_C007374 .