• Home
  • LLMs
  • Python
  • Docker
  • Kubernetes
  • Java
  • Ubuntu
  • Maven
  • Archived
  • About
Oracle | FOREIGN KEY
  1. Notes
  2. Créer une clé étrangère
    1. Créer une clé étrangère avec la syntaxe : CREATE TABLE
    2. Créer une clé étrangère avec la syntaxe : ALTER TABLE
  3. Créer une clé étrangère : ON DELETE CASCADE
  4. Créer une clé étrangère : ON DELETE SET NULL
  5. Désactiver une clé étrangère : DISABLE CONSTRAINT
  6. Activer une clé étrangère : ENABLE CONSTRAINT
  7. Supprimer une clé étrangère : DROP CONSTRAINT

  1. Notes
    • Une clé étrangère est une contrainte définie sur une ou plusieurs colonnes de la table.

    • Les colonnes de la clé étrangère référencent les colonnes de la clé primaire (ou la clé unique) de la table référencée.

    This table is used in the examples bellow:
  2. Créer une clé étrangère
    1. Créer une clé étrangère avec la syntaxe : CREATE TABLE

      Important : La colonne (id) référencée par la clé étrangère doit avoir une contrainte de clé primaire (PRIMARY KEY) ou une contrainte d'incitée (UNIQUE).

      Remarque : Si on omet le nom de la contrainte, Oracle va générer un nom automatique :

      Remarque : Si la clé étrangère est une clé composée de plusieurs colonnes, alors il faut spécifier ces colonnes séparées par des points virgules (column1, column2, …).

    2. Créer une clé étrangère avec la syntaxe : ALTER TABLE


      Ou :
  3. Créer une clé étrangère : ON DELETE CASCADE

    L'option "ON DELETE CASCADE" indique que si une ligne est supprimée de la table "table_unique_1" alors les lignes qui la référencent dans la table "table_foreign_key_5" seront aussi supprimées.

    Vérifier la création de la contrainte :

    Résultat de la requête :
    Teste :



    Vérifier les données de la table "table_foreign_key_5" après la suppression des données de la table "table_unique_1" :

  4. Créer une clé étrangère : ON DELETE SET NULL

    L'option "ON DELETE SET NULL" indique que si une ligne est supprimée de la table "table_unique_1" alors les colonnes (clé étrangère) de toutes les lignes qui la référencent dans la table "table_foreign_key_6" seront initialisées à NULL.

    Vérifier la création de la contrainte :

    Résultat de la requête :
    Teste :



    Vérifier les données de la table "table_foreign_key_6" après la suppression des données de la table "table_unique_1" :

  5. Désactiver une clé étrangère : DISABLE CONSTRAINT
  6. Activer une clé étrangère : ENABLE CONSTRAINT
  7. Supprimer une clé étrangère : DROP CONSTRAINT

    Attention : Supprimer la clé étrangère est nécessaire si on veut supprimer la table référencée, au cas contraire Oracle affichera une erreur :

    Résultat de la requête :
© 2025  mtitek