Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Quel est l'avantage de mettre à jour au lieu de supprimer puis d'insérer dans le même tableau

Je ne suis pas sûr à 100 % de ce que vous demandez, mais je vais prendre une photo dans le noir. Faire un DELETE puis un INSERT dans une table pour mettre à jour les informations est une très mauvaise idée.

Pourquoi? Parce que si vous avez une autre table avec une clé étrangère référençant ABC, vous perdrez votre référence. C'est, bien sûr, à moins que vous ne définissiez le PK du nouvel enregistrement avec le même PK que l'ancien enregistrement (supprimé). Dans ce cas, pourquoi n'avez-vous pas simplement mis à jour ?

De plus, la suppression puis l'insertion sont deux opérations alors que la mise à jour en est une, ce qui fait que la suppression et l'insertion prennent (théoriquement) plus de temps.

Il y a aussi le facteur de facilité d'utilisation. Si vous supprimez puis insérez, vous devez suivre manuellement chaque valeur de colonne. Si vous mettez à jour, vous avez juste besoin de savoir ce que vous voulez changer.