En Oracle SQL Developer , si estoy viendo la información en una tabla, puedo ver las restricciones, lo que me permite ver las claves externas (y, por lo tanto, a qué tablas hace referencia esta tabla), y puedo ver las dependencias para ver qué paquetes y tal referencia a la tabla. Pero no estoy seguro de cómo encontrar qué tablas hacen referencia a la tabla.
Por ejemplo, digamos que estoy mirando la emp
mesa. Hay otra tabla emp_dept
que captura qué empleados trabajan en qué departamentos, que hace referencia a la emp
tabla emp_id
, la clave principal de la emp
tabla. ¿Hay alguna manera (a través de algún elemento de la interfaz de usuario en el programa, no a través de SQL) para encontrar que la emp_dept
tabla hace referencia a la emp
tabla, sin que tenga que saber que la emp_dept
tabla existe?
fuente
Para agregar esto a SQL Developer como una extensión, haga lo siguiente:
Agregue la extensión a SQL Developer:
Navegue a cualquier tabla y ahora debería ver una pestaña adicional junto a SQL one, etiquetada Referencias FK, que muestra la nueva información FK.
Referencia
fuente
and owner = :OBJECT_OWNER
antesand exists
.describe books;
yselect * from books;
, no muestra la pestaña de referencias fk en Oracle sql developer VM.Reemplace [Su TABLA] con emp en la consulta a continuación
fuente
constraint_type in ('P','U')
es superfluo, porque si la restricción_tipo de una restricción TOTO es 'R', entonces r_constraint_name de TOTO es, por supuesto, el nombre de una restricción de tipo 'P' O 'U' en la tabla de referencia. No hay necesidad de especificarlo. Está utilizando unIN
, por lo que es como muchosOR
y solo nos importa el único operando de OR que se evalúa como verdadero.Puede consultar esto desde la
ALL_CONSTRAINTS
vista:fuente
SQL Developer 4.1, lanzado en mayo de 2015, agregó una pestaña Modelo que muestra las claves externas de la tabla que hacen referencia a su tabla en un formato de Diagrama de relación de entidad.
fuente
Qué tal algo como esto:
fuente
dba_constraints
deall_constraints
este modo:SELECT c.constraint_name, c.constraint_type, c2.constraint_name, c2.constraint_type, c2.table_name FROM all_constraints c JOIN all_constraints c2 ON (c.r_constraint_name = c2.constraint_name) WHERE c.table_name = '<TABLE_OF_INTEREST>' AND c.constraint_TYPE = 'R';
fuente
Esto ha estado en el producto durante años, aunque no estaba en el producto en 2011.
Pero, simplemente haga clic en la página Modelo.
Asegúrese de tener al menos la versión 4.0 (lanzada en 2013) para acceder a esta función.
fuente
Para agregar a la respuesta anterior para el complemento de desarrollador sql, usar el siguiente xml ayudará a obtener la columna asociada con la clave externa.
fuente