Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was ist der Vorteil von Update, anstatt es zu löschen und dann in dieselbe Tabelle einzufügen?

Ich bin mir nicht 100%ig sicher, was du fragst, aber ich werde einen Versuch im Dunkeln wagen. Ein DELETE und dann ein INSERT in eine Tabelle durchzuführen, um Informationen zu aktualisieren, ist eine sehr schlechte Idee.

Wieso den? Denn wenn Sie eine andere Tabelle mit einem Fremdschlüssel haben, der auf ABC verweist, verlieren Sie Ihre Referenz. Das heißt natürlich, es sei denn, Sie setzen den PK des neuen Datensatzes auf den gleichen PK wie der alte (gelöschte) Datensatz. Warum haben Sie in diesem Fall nicht gleich AKTUALISIERT?

Außerdem sind DELETING und dann INSERTing zwei Operationen, während UPDATEing eine ist, wodurch DELETE und INSERT (theoretisch) mehr Zeit in Anspruch nehmen.

Hinzu kommt der Faktor Benutzerfreundlichkeit. Wenn Sie LÖSCHEN und dann EINFÜGEN, müssen Sie jeden Spaltenwert manuell verfolgen. Wenn Sie AKTUALISIEREN, müssen Sie nur wissen, was Sie ändern möchten.