Bonjour à tous,
Est-il possible de supprimer une ligne d'un table et du même coup toutes les lignes associés à cette ligne supprimée des autres tables liées par des contraintes?
SGBD Oracle 10
Merci
Bonjour à tous,
Est-il possible de supprimer une ligne d'un table et du même coup toutes les lignes associés à cette ligne supprimée des autres tables liées par des contraintes?
SGBD Oracle 10
Merci
Bonjour,
Oui c'est possible si la clé étrangère a été définie definie de cette façon:
Grâce à ON DELETE CASCADE, la suppression des lignes dans la table principale nécessitent également la suppression des lignes dans les tables liées aux lignes qui viennent d'être supprimées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ALTER TABLE tableEnfant ADD CONTRAINT FK_TABLEENFANT FOREIGN KEY(<liste des colonnes>) REFERENCES tableParent(<list des colonnes>) ON DELETE CASCADE
Ici vous avez le lien vers la documentation oracle indiquant le syntax
http://docs.oracle.com/cd/E11882_01/...2.htm#CJAIHHGC
ON DELETE Clause :
The ON DELETE clause lets you determine how Oracle Database automatically maintains referential integrity if you remove a referenced primary or unique key value. If you omit this clause, then Oracle does not allow you to delete referenced key values in the parent table that have dependent rows in the child table.
Specify CASCADE if you want Oracle to remove dependent foreign key values.
Specify SET NULL if you want Oracle to convert dependent foreign key values to NULL. You cannot specify this clause for a virtual column, because the values in a virtual column cannot be updated directly. Rather, the values from which the virtual column are derived must be updated.
Cordialement,
Dariyoosh
Merci!
C'est tout nickel ce qu'il me fallait.
Et merci pour le lien.
A bientôt et bonne continuation a tous.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager