El nombre de restricción de Oracle es conocido.Obtener nombre de tabla por nombre de restricción
¿Cómo puedo encontrar el nombre de la tabla para la que se aplica esta restricción?
El nombre de restricción de Oracle es conocido.Obtener nombre de tabla por nombre de restricción
¿Cómo puedo encontrar el nombre de la tabla para la que se aplica esta restricción?
SELECT owner, table_name
FROM dba_constraints
WHERE constraint_name = <<your constraint name>>
le dará el nombre de la tabla. Si no tiene acceso a la vista DBA_CONSTRAINTS
, ALL_CONSTRAINTS
o USER_CONSTRAINTS
deberían funcionar también.
SELECT constraint_name, constraint_type, column_name
from user_constraints natural join user_cons_columns
where table_name = "my_table_name";
le dará lo que necesita
esta respuesta es conocido a partir nombre de la tabla para volver nombre de restricción, pregunta dice que se conoce el nombre de contraint necesidad de obtener el nombre de la tabla –
ALL_CONSTRAINTS
describe definiciones de restricciones en las tablas accesibles para el usuario actual.
DBA_CONSTRAINTS
describe todas las definiciones de restricciones en la base de datos.
USER_CONSTRAINTS
describe definiciones de restricciones en las tablas en el esquema del usuario actual
Select CONSTRAINT_NAME,CONSTRAINT_TYPE ,TABLE_NAME ,STATUS from
USER_CONSTRAINTS;
no está trabajando, consiguiendo el error "nombre de objeto no válido 'USER_CONSTRAINTS'". por favor ayuda. –
@JitendraPancholi - 'select table_name from user_constraints donde constraint_name = 'xxx';' debería funcionar para cualquier usuario. ¿Estás seguro de que no tienes un error tipográfico en tu consulta? ¿Qué devuelve 'select owner, object_name from all_objects where object_name = 'USER_CONSTRAINTS''? –
Añadir el nombre del propietario en la consulta también ... SELECT owner, nombre_tabla DE dba_constraints DONDE constraint_name = << >> su nombre de restricción y propietario = <> –
JavaDragon