SQL Supprimer Cascade

SQL Supprimer Cascade

Le SQL sur Delete Cascade est une contrainte qui permet à SQL de supprimer les lignes associées à un tableau parent spécifique lorsque la table parent est supprimée.

En utilisant cet article, nous discuterons de la façon de mettre en œuvre la suppression de la contrainte en cascade dans SQL.

Exemple pratique SQL Cascade

Supposons que nous ayons deux tableaux contenant des informations de développeur et les contributions d'un autre développeur. Le développeur a plusieurs contributions.

Ici, nous voulons créer une relation où toutes les contributions de l'autre tableau sont automatiquement supprimées si le développeur est supprimé du tableau.

Commençons par créer le tableau des développeurs:

Créer des développeurs de table (
Clé primaire en série Dev_ID,
full_name varchar (100) pas null,
dev_language varchar (255) pas null
));

Ensuite, créons une table de contributions comme indiqué:

Créer une table contrib (
Repo_id Serial Primary Key,
repo_name varchar (100) pas null,
commit_id int not null,
Dev_id INTEGER NON NULL,
Clé étrangère (dev_id)
Références Développeurs (Dev_ID)
Sur Supprimer Cascade
));

Ce tableau déclare une contrainte de clé étrangère qui contient une contrainte en cascade de suppression et fait référence au dev_id dans le tableau des développeurs.

Ajoutons des exemples de données à tester comme indiqué:

Insérer dans les développeurs (Full_name, Dev_Language)
VALEURS
(«Romilly Roy Reeve», «Python 3»),
('Anastasija Jimi Hirsch', 'C ++'),
(«Marylène Nina Capella», «Rust»)

La table des développeurs doit avoir des exemples de données comme indiqué:

Sélectionner * chez les développeurs;

Ajoutez des exemples de données dans le tableau des contributions comme indiqué:

Insérer dans contrib (repo_name, commit_id, dev_id)
VALEURS
('Repo1', 464576, 1),
('Repo1', 445876, 2),
('Repo1', 466466, 3);

Le tableau contribue doit contenir des données comme:

SELECT * FROM CONTRIB;

Pour illustrer comment la suppression de la contrainte Cascade fonctionne, supprimons le développeur avec l'ID de 3.

Supprimer des développeurs où dev_id = 3;

Si vous interrogez la table Contrib, vous remarquerez que l'enregistrement pour Dev_id 3 a également été abandonné.

SELECT * FROM CONTRIB;

C'est comment les utiliser sur Supprimer les contraintes en cascade dans SQL.

Merci pour la lecture!!