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 .