2011-03-09 13 views

Respuesta

152
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.

+0

no está trabajando, consiguiendo el error "nombre de objeto no válido 'USER_CONSTRAINTS'". por favor ayuda. –

+7

@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''? –

+0

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

-3
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

+0

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 –

12

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; 
Cuestiones relacionadas