J'ai un enregistrement dans le tableau avec une mauvaise clé primaire. Je veux le changer pour corriger la valeur, mais cette valeur est utilisée dans de nombreuses autres tables. P>
Y a-t-il un moyen simple de mettre à jour la clé primaire et la clé étrangère au même tim? P>
3 Réponses :
Si les touches étrangères sont définies sur des modifications en cascade, la valeur doit changer automatiquement. p>
Je reçois: impossible de mettre à jour la colonne d'identité 'id'.Quisery est la mise à jour [Tablea] Set ID = 8 où id = 9
Jetez un coup d'œil à Stackoverflow.com / Questions / 751522 / ...
@ user278618: vous ne peut pas b> mettre à jour une valeur d'identité code> existante code> - il n'y a aucun moyen de le faire.
Assurez-vous que vos relations de clé étrangère ont sur la mise à jour de la cascade spécifiée et que la clé étrangère mettra automatiquement à jour pour correspondre à la clé primaire. P>
des livres en ligne: http://msdn.microsoft.com/fr -US / Bibliothèque / MS174123% 28V = SQL.90% 29.aspx P>
sur la mise à jour {cascade | Aucune action | ENSEMBLE Par défaut | SET NULL} P>
Spécifie quelle action arrive à une rangée dans la table créée lorsque Cette ligne a une référence relation et la ligne référencée est mis à jour dans la table des parents. Les La valeur par défaut n'est pas une action. Voir le Section "Remarques" plus tard dans ce sujet Pour plus d'informations. P> blockQuote>
Mise à jour d'une clé principale ne met pas à jour les clés étrangères liées, il ne supprime que les enregistrements associés sur d'autres tables, car SQL Server traite la mise à jour en tant que suppression et insertion. Ceci est SQL Server 2000, pas sûr des versions ultérieures. Utilisation de "Sur la mise à jour de cascade sur la suppression en cascade", les effets en cascade de la "Supprimer et insertion: AKA Update", supprime les enregistrements associés sur d'autres tables. P>