DB2 cascade de la commande de suppression?
Est-il une syntaxe particulière pour exécuter une cascade de supprimer sur DB2 ou est-il seulement possible de créer des "en cascade" tables en les définissant avec la "on DELETE CASCADE" option?
Ce que je suis en train de réaliser est de supprimer les autres lignes de la table basée sur une même clé étrangère quand je supprime cette clé, mais cela se fait sur un déjà existant et de données remplie de base de données.
OriginalL'auteur OverLex | 2009-07-22
Vous devez vous connecter pour publier un commentaire.
Comme vous l'avez indiqué, vous devez créer FKs avec un
ON DELETE CASCADE
clause ou à pré-supprimer les autres lignes avec une sous-sélection-supprimer.Donc, si vous n'avez pas de
ON DELETE CASCADE
clause que vous avez à faireC'est simple, mais il est un peu redondants, de sorte que vous pouvez utiliser le AVEC déclaration.
Si la requête pour sélectionner les lignes est assez grande, et si vous n'avez pas au moins un RR niveau d'isolation, vous pourriez avoir à utiliser un table TEMPORAIRE :
De cette façon, vous êtes sûr que vous ne supprimer les mêmes lignes dans chaque table, et un FK erreur encore le feu si vous manquez quelque chose. Par défaut, la table temporaire sera vide lui-même lors de la validation.
OriginalL'auteur Steve Schnepp