Maison  >  Article  >  base de données  >  clé étrangère de requête Oracle

clé étrangère de requête Oracle

WBOY
WBOYoriginal
2023-05-08 19:31:371124parcourir

Clés étrangères Oracle Query

Dans la conception de bases de données, les clés étrangères sont l'une des contraintes importantes qui connectent deux tables. Une clé étrangère est une ou plusieurs colonnes d'une table dont la valeur correspond à la valeur d'une clé primaire ou d'une colonne de clé unique dans une autre table. Les clés étrangères garantissent l’intégrité et la cohérence des données. Lorsqu'une clé étrangère est utilisée lorsqu'une ligne est insérée, mise à jour ou supprimée dans la table maître, elle effectue automatiquement l'opération correspondante dans la table esclave.

L'interrogation de clés étrangères est l'un des aspects importants de la gestion de bases de données. Dans Oracle Database, la manière dont vous interrogez les clés étrangères dépend des informations que vous souhaitez obtenir. Voici quelques requêtes de la liste qui peuvent être utiles.

Interroger toutes les clés étrangères d'une table spécifique

Dans Oracle, vous pouvez utiliser la requête suivante pour rechercher toutes les clés étrangères d'une table spécifique :

SELECT constraint_name, table_name, column_name,owner
FROM all_cons_columns
WHEREowner = ' YourTableName ' AND constraint_name LIKE 'FK_%' ORDER BY constraint_name;

Cette requête renverra le nom de la contrainte, le nom de la table, le nom de la colonne et le propriétaire de toutes les clés étrangères de la table donnée.

Requête d'une clé étrangère spécifique dans une table spécifique

Si vous souhaitez uniquement trouver une clé étrangère spécifique dans une table donnée, vous pouvez utiliser la requête suivante :

SELECT constraint_name, table_name, column_name,owner
FROM all_cons_columns
WHERE constraint_name = 'YourForeignKeyName' ANDowner = 'YourTableName';

Cela renverra le nom de la contrainte, le nom de la table, le nom de la colonne et le propriétaire de la clé étrangère spécifique portant le nom spécifié.

Requête des tables référencées par toutes les clés étrangères

Pour rechercher des tables référencées par des clés étrangères, utilisez la requête suivante :

SELECT DISTINCT f.constraint_name, r.table_name, f.table_name
FROM all_constraints r, all_constraints f
WHERE r. constraint_type = 'P'
AND f.r_constraint_name = r.constraint_name
and f.constraint_type = 'R';

Cette requête renverra les noms de contraintes de toutes les clés étrangères, tables de référence et noms de tables associés.

Interrogez les tables et colonnes référencées (principales) d'une clé étrangère

Pour trouver les tables et colonnes qui référencent une clé étrangère, utilisez la requête suivante :

SELECT c.table_name, c.column_name, cc.table_name ref_table, cc.column_name ref_column , c.constraint_name
FROM all_constraints c, all_constraints cc
WHERE cc.owner = c.r_owner AND cc.constraint_name = c.r_constraint_name
AND c.constraint_type = 'R';

Cela renverra le nom de la table , colonne de la clé étrangère Une liste de noms, de noms de tables associés, de noms de colonnes associés et de noms de contraintes.

Requête de détails sur les clés étrangères

Vous pouvez utiliser la requête suivante pour obtenir des détails sur les clés étrangères :

SELECT constraint_name, table_name, status, delete_rule, deferrable, validated
FROM all_constraints c
WHERE constraint_type = 'R' ANDowner = 'YourTableName' AND constraint_name = 'YourForeignKeyName';

Cette requête renverra des détails sur la clé étrangère tels que le nom de la contrainte, le nom de la table, le statut, les règles de suppression, la déférabilité et le statut de validation.

En conclusion, l'interrogation de clés étrangères est un aspect important de la gestion de bases de données pour garantir l'intégrité et la cohérence des données entre les tables. Dans Oracle, vous pouvez utiliser diverses requêtes pour rechercher des informations sur les clés étrangères. Les requêtes répertoriées ci-dessus font partie de quelques-unes que vous pouvez utiliser et qui renverront les détails d'une clé étrangère et des informations sur la table et la colonne auxquelles la clé étrangère fait référence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:chemin d'installation d'OracleArticle suivant:chemin d'installation d'Oracle